我有一个包含两个表的SQL数据库,People
和Itinerary
。
People
表格列:
Item1
Item2
Item3
Itinerary
表格列:
ID
COLUMN2
在人员表中,列Item1
,Item2
和Item3
匹配ID
列中某些行的Itinerary
列中的值。
是否可以将行程表加入所有三个Item_
列?例如,如下所示:
SELECT DISTINCT Itinerary.COLUMN2
FROM People
JOIN Itinerary ON People.ITEM1 = Itinerary.ID
JOIN Itinerary ON People.ITEM2 = Itinerary.ID
JOIN Itinerary ON People.ITEM3 = Itinerary.ID
请注意,上述查询无效。
答案 0 :(得分:3)
您可以使用or
子句中的in
或on
来执行您想要的操作:
SELECT DISTINCT ITINERARY.COLUMN2
FROM People pl JOIN
Itinerary i
ON i.ID IN (pl.ITEM1, pl.ITEM2, pl.ITEM3)
答案 1 :(得分:0)
我不确定我完全理解你的问题,但也许是这样的?
SELECT DISTINCT Itinerary.COLUMN2
FROM People
LEFT OUTER JOIN Itinerary ON
(
Itinerary.ID = People.ITEM1
OR Itinerary.ID = People.ITEM2
OR Itinerary.ID = People.ITEM3
)