跨三个表使用外键的SQL查询

时间:2017-09-27 15:47:16

标签: sql join

我有三个表ProductUserCart

Cart中,我有两个外键,每个表一个,列称为useridproductid

这些是我的表格:

用户

Id || name  ||

产品

Id || name

Id|| userid || productid

我想要做的是从购物车表中获取所有产品的外键。其实我想通过userid获取所有产品。可能吗?如果有,可以有人解释。

2 个答案:

答案 0 :(得分:0)

Select Product.*
FROM Cart c ,product p, user u
Where c.productID=p.productID 
AND c.userID= u.userID
AND u.userID=(Whatever user id you want)

答案 1 :(得分:0)

select u.id UserID, u.name UserName, p.id ProductID, p.name ProductName,
  c.id CartID
from cart c
  inner join product p on c.productid = p.id
  inner join user u on u.id = c.userid 

这是来自购物车表格的信息与产品表格的别名c的直接连接,别名为p,然后从购物车表格到用户表格的另一个连接,别名为u。

返回的列与指定的别名对齐。