**关闭。**此题需要debugging details。目前不接受答复。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
5天前关闭。
Improve this question
我有表用户-
| id|姓名|电子邮件|
| - -----|- -----|- -----|
| 1|塔马格纳|tamaghna@g|
| 2|阿鲁尼马|arunima@g|
| 3|拉吉夫|rajiv@g|
我还有一桌产品-
| id|姓名|价格|
| - -----|- -----|- -----|
| 1|阿穆尔牛奶|十点|
| 2|阿穆尔黄油|20点|
| 3|阿穆尔奶酪|三十|
最后一张table是手推车
| id|用户id|产品ID|
| - -----|- -----|- -----|
| 1| 1| 1|
| 2| 1| 3|
| 3| 2| 1|
我需要的是两个交叉的表,引用购物车表-
| 产品名称|用户名|买了吗|
| - -----|- -----|- -----|
| 阿穆尔牛奶|塔马格纳|十点|
| 阿穆尔黄油|塔马格纳|空值|
| 阿穆尔奶酪|塔马格纳|三十|
| 阿穆尔牛奶|阿鲁尼马|十点|
| 阿穆尔黄油|阿鲁尼马|空值|
| 阿穆尔奶酪|阿鲁尼马|空值|
| 阿穆尔牛奶|拉吉夫|空值|
| 阿穆尔黄油|拉吉夫|空值|
| 阿穆尔奶酪|拉吉夫|空值|
我尽力了
select
t1.name, t1.email, t3.name, t3.price
from Users t1
left outer join cart t2
on t1.id = t2.user_id
left outer join products t3
on t2.product_id = t3.id
但运气不好的话,实际的table就不能按要求拿出来了。有什么帮助吗?
1条答案
按热度按时间bxjv4tth1#
您通常需要
cross join
用户和产品,然后将cart
表与两个引用表中的列上的left join
一起引入:这将给出一个结果集,其中包含用户名、产品名和价格,以及一个
0
/1
列,该列指示该产品是否可以在用户的购物车中找到(这似乎比只显示购物车中产品的价格更容易理解,但如果需要,您仍然可以使用case
到达那里)。请注意,我更改了表别名,使它们更有意义。