繁体   English   中英

用3个表进行多对多查询

[英]Many to many query with 3 tables

我有3个表: WASUSER和连接表WAS_USER 我想实现的事情是从表WAS获取所有行,如果同一WAS用户很多,我希望每个行都有一行。 例如:

WAS:
    id | name
    1  | 'was1'
    2  | 'was2'

USER:
    id | name
    1  | 'user1'
    2  | 'user2'

WAS_USER:
    userId | wasId
    1      | 1
    2      | 1

所以在查询之后,我需要得到这个:

wasrId | userId | wasName | userName
1      | 1      | 'was1'  | 'user1'
1      | 2      | 'was1'  | 'user2'
1      | 2      | 'was1'  | 'user2'

3个表之间的普通联接将仅提供WAS行,而我需要的是3个表上的某种left join联接。

好的,这对我有用:

SELECT * 
FROM 
(SELECT * FROM WAS W LEFT JOIN WAS_USER WU ON W.id=WU.wasID) TMP LEFT JOIN USER U ON TMP.userId=U.userId

不过不知道效率...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM