如何在mysql中使用3个表创建嵌套查询

时间:2017-03-19 14:55:53

标签: mysql

我有3张桌子,如图所示。

我想要一个查询,它给我来自purchase_master的所有字段,package_master中的package_title(purchase_master.package_id == package_master.id)+ user_master中的user_name(purchase_master.user_id == user_master.user_id)。

enter image description here

我无法弄清楚如何加入3个表。

需要一些帮助。

3 个答案:

答案 0 :(得分:1)

一般的想法是:

SELECT pum.*, pam.package_title, um.user_name
FROM purchase_master AS pum
LEFT JOIN package_master AS pam ON pam.package_id = pam.id
LEFT JOIN user_master AS um ON um.user_id = pum.user_id
WHERE //some condition?

这是你需要的吗?

答案 1 :(得分:0)

Select a.package_id,a.user_id,a.package_details,b.package_title,c.user_name from purchase_master as a join paclage_master as b join user_master as c where a.package_id=b.id and a.user_id=c.user_id 

试试这个

答案 2 :(得分:0)

连接三个表与连接两个表相同。

您可以使用以下查询来实现此目的。

SELECT P.PACKAGE_ID,P.USER_ID,P.PACKAGE_DETAILS,PM.PACKAGE_TITLE FROM PURCHASE_MASTER P JOIN PACKAGE_MASTER PM ON P.PACKAGE_ID= PM.ID JOIN USER_MASTER U ON P.USER_ID=U.USER_ID