订单表
o_id customer_id drink_id food_id
---- ----------- -------- -------
1 22 10 12
2 22 11 12
3 22 11 12
4 44 11 13
5 22 11 13
标题表
t_id title_id type title
---- -------- ---- -----
1 10 drink Black Velvet
2 11 drink Mojito
3 12 food Rice
4 13 food Meat
如何产生此结果:
例如customer_id = 22
o_id drink_id drink_title food_id food_title
---- -------- ----------- ------- ----------
1 10 Black Velvet 12 Rice
2 11 Mojito 12 Rice
3 11 Mojito 12 Rice
5 11 Mojito 13 Meat
我不知道这样做是否正确:
- 嵌套的
SELECT
查询? - 或者重命名后订单表本身的
JOIN
? (如果是这种情况,查询应该是什么样子?)
最佳答案
您可以将title
表多次联接
到orders
表:
select o.o_id, o.drink_id, t.title drink_title, o.food_id, t2.title food_title
from orders o
inner join title t on o.drink_id = t.type
inner join title t2 on o.food_id = t2.type
where o.customer_Id = 22
关于SQL 查询 JOIN 一个表(单独的 ID 和 Titles 表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30064208/