我有两个表,Flow和Users。 Flow有一个列列表:Username1,Username2,Username3等,以及我提取的其他一些数据(DocumentNumber和Location)。
用户拥有Username,FirstName和LastName的列。
我希望能够通过单个查询获取Flow中所有用户名的FirstName和LastName,以及保留DocumentNumber和Location。这可能吗?
感谢您的时间。
答案 0 :(得分:1)
是的,你可以多次加入同一个表,只需给每个JOIN一个不同的别名:
...
FROM Flow f
LEFT JOIN Users u1 ON f.Username1=u1.Username
LEFT JOIN Users u2 ON f.Username2=u2.Username
LEFT JOIN Users u3 ON f.Username2=u3.Username
...
在您的选择列表中,请参阅u1.FirstName以获取与Username1关联的名字等。
答案 1 :(得分:0)
是的,只需多次加入users表:
SELECT
f.username,
u1.firstname,
u1.lastname,
u2.firstname,
u2.lastname,
u3.firstname,
u4.lastname,
f.documentnumber,
f.location
FROM flow f
INNER JOIN users u1 ON f.username1 = u1.username
INNER JOIN users u2 ON f.username2 = u2.username
INNER JOIN users u3 ON f.username3 = u3.username
答案 2 :(得分:0)
SELECT
USR.USERNAME AS USERNAME1,
USR1.USERNAME AS USERNAME1,
USR2.USERNAME AS USERNAME1,
FL.DOCUMENTNUMBER,
FL.LOCATION
FROM
FLOW FL
INNER JOIN USERS USR ON USR.USERID=FL.USERID
INNER JOIN USERS USR1 ON USR1.USERID=FL.USERID1
INNER JOIN USERS USR2 ON USR2.USERID=FL.USERID2