加入内部和外部子查询

时间:2021-07-18 07:28:11

标签: sql join subquery

我正在处理 3 个表 sales、customer 和 product,我想在同一结果集中从 sales 表和 customer_name、customer age 和 product_name、product 表中的所有列中获取所有列。有一个条件,我必须使用 2 个连接操作,其中一个连接将在子查询内部,另一个在子查询外部。 这是我的查询不起作用:

 SELECT a.*,
    b.customer_name,
    b.age, 
    b.customer_id 
 FROM sales AS a
 LEFT JOIN customer AS b on a.customer_id = b.customer_id
 LEFT JOIN (SELECT product_id, product_name, category from product) as c
    ON a.product_id = c.product_id
 ORDER BY a.customer_id, b.customer_id; 

只有第一个联接在此查询中起作用。

1 个答案:

答案 0 :(得分:0)

select 
a.*,
b.customer_name,
b.age, 
b.customer_id ,
c.*
from sales as a
left join customer as b
on a.customer_id = b.customer_id
LEFT JOIN (SELECT product_id, product_name, category from product) as c
ON a.product_id = c.product_id
order by a.customer_id;

https://www.db-fiddle.com/f/wKbMaD6UF1v3a4KCXE7248/0

相关问题