如何在SQL中查询与用户相关的两个表中的数据?

时间:2013-04-21 04:31:16

标签: sql

我有3个表,其中包含有关用户,产品和类别的相关信息

Users
--------------
id (PK) |   user
--------------
1       Jessy
2       Emily
3       John



Products
--------------------------------------
id | user_id (FK) |  product   
--------------------------------------
1     1           iPhone
2     1           Galaxy S
3     1           xbox
4     2           PS5
5     2           MPhone
6     1           XPhone
7     3           PS3


Cateogories
---------------------------------------
id  | product_id(FK)| cateogy
---------------------------------------
1       1               Phone
2       7               Gaming Console
3       4               Gaming Console
4       5               Phone
5       2               Phone
6       3               Gaming Console
7       6               Phone

伙计们,如何使用sql获取属于该用户的类别的产品,如下所示?

Product List of Jessy
------
Phone
------
iPhone
Galaxy S
X Phone

------------
Gaming Console
------------
xbox

2 个答案:

答案 0 :(得分:0)

您可以加入这些表格以获得所需的结果。

select u.user, p.product, c.category
from Users u, Products p, Category c
where u.id = p.user_id
and p.id = c.product_id
and u.user = 'Jessy'

答案 1 :(得分:0)

你可以加入三个表来做到这一点。以下内部联接解释示例可以帮助您。

http://www.codecandle.com/Articles/399/SQL/JOINS/INNER-JOIN/codedetail.aspx

您需要为上面的类别表示例添加一个内部联接。