好的,对不起,如果这是一个转贴,我真的不知道如何说出我正在寻找的东西来真正搜索它。
我有3张桌子:
Amenities:
AmenitiesID
Name
resort_amenities
ResortAmenitiesID
ResortID
AmenityID
resorts
ResortID
ResortName
and so on...
我正在处理将amenties链接到度假村的代码,并保存在resort_amenities中。
我想要的是有一个jQuery模式对话框,其中提供了设施表中的所有设施,这些设施尚未与该度假村相关联。
现在在我的ajax调用中,我传递了度假村id,用于某处的sql。
我相信我需要一个工会,但几年前从未在学校里建立过一个工会。
由于
答案 0 :(得分:2)
因此,对于特定的度假胜地,您需要与该度假村无关的设施:
SELECT DISTINCT * -- get all those Amenities
FROM Amenities
WHERE NOT EXISTS ( -- that we can't find a counter-example for
SELECT AmenitiesID
From resort_amenities
WHERE ResortID = <the resort id>
AND Amenities.AmenitiesID = resort_amenities.AmenitiesID
)
这是S = S1 - S2
的集合减法,其中S1
是所有便利设施的集合,S2
是已与该度假村相关联的便利设施。
答案 1 :(得分:0)
如果我了解您的需求,您可以尝试:
SELECT * FROM Amenities a
INNER JOIN resort_amenities ra
ON a.AmenitiesID = ra.AmenityID
WHERE ra.ResortID <> your_resort_id
或
SELECT * FROM Amenities a
LEFT JOIN resort_amenities ra
ON a.AmenitiesID = ra.AmenityID
WHERE ra.ResortID IS NULL
OR ra.ResortID <> your_resort_id