Click to See Complete Forum and Search --> : JOIN Question


Ntrimgs
10-25-2009, 01:09 PM
I have two tables and I need to gather information from them, but I can't seem to figure out the join needed.

TABLES
memberships: membership_id, vendor_id, user_id
vendors: vendor_id, vendor_name

I need to be able to select the vendor_name, membership_id, vendor_id based on each individual user_id.

Any suggestions as far as how to do this with a MySQL query.

JavaServlet
10-25-2009, 01:31 PM
Inner Join:

select vendors.vendor_name, memberships.membership_id, vendors.vendor_id
from memberships, vendors where vendors.vendor_id = memberships.vendor_id;


Left Join:

select vendors.vendor_name, memberships.membership_id, vendors.vendor_id
from memberships left join vendors on vendors.vendor_id = memberships.vendor_id;

Ntrimgs
10-25-2009, 01:35 PM
Thanks for your response.

Is it possible to make it so it only selects the fields that are specific to a particular user_id, instead of all user_id's?

Let's say there are 15 users and I only want the details of user 3. Or does that have to be another query?

Thanks

JavaServlet
10-25-2009, 01:42 PM
I assume user 3 would be vendor_id 3. If so the Inner join sql would look like this:
select vendors.vendor_name, memborships.membership_id, vendors.vendor_id
from memborships, vendors where vendors.vendor_id = memborships.vendor_id and vendors.vendor_id = 3;

Ntrimgs
10-25-2009, 01:53 PM
It would actually be user_id which is located in the memberships table.

There are 5 vendor_id's: v01, v02, v03, v04, v05

There are multiple users: 0,1,2,3...

There are 5 memberships created for each user upon registration.



So basically you can keep narrowing down the search as much as you wish?? Or is there a limit to it?

JavaServlet
10-25-2009, 02:02 PM
Change the SQL to memberships.user_id = 3 instead of vendors.vendor_id = 3