可能是一个非常基本的解决方案,但我似乎无法弄明白。我想要匹配 一个表中的多个ID朝向另一个表。
结构是这样的,
tt_staff (ID - name)
2 - Lenny
3 - Carl
tt_run (producer1 - producer2)
2 (i.e Lenny)
3 (i.e Carl)
我想用一行创建一个视图,向我显示Carl和Lenny的名字,而不是他们的ID。
试过以下内容,
SELECT e.*, run.*, s.s_name FROM tt_run AS run, tt_events AS e, tt_staff AS s
WHERE e.e_ID = run.e_ID
AND run.e_bandproducer1 = s.s_ID
AND run.e_bandproducer2 = s.s_ID
这显然不起作用,因为ID在producer1上找到。我也尝试过UNION,但对它不熟悉(我确实设法得到了正确的结果,但是分成两行)。
一如既往,感谢您的回复。
答案 0 :(得分:1)
看起来你只需要加入tt_staff两次:
SELECT e.*, r.*, s1.s_name, s2.s_name
FROM tt_events e
INNER JOIN tt_run r ON e.e_ID = r.e_ID
INNER JOIN tt_staff s1 ON r.e_bandproducer1 = s1.s_ID
INNER JOIN tt_staff s2 ON r.e_bandproducer2 = s2.s_ID