MySQL选择与特定记录无关的记录
问题描述:
好的,很抱歉,如果这是一个转发,我真的不知道如何说出我正在寻找的内容来真正搜索它。MySQL选择与特定记录无关的记录
我有3个表:
Amenities:
AmenitiesID
Name
resort_amenities
ResortAmenitiesID
ResortID
AmenityID
resorts
ResortID
ResortName
and so on...
我上了的amenties链接到度假村的代码工作,并保存在resort_amenities。
我想要的是有一个jQuery模式对话框提供所有设施表中的设施,这些设施尚未与该度假村连接。
现在在我的ajax调用中,我传递了度假村ID,用于sql的某处。
我相信我需要一个工会,但从来没有建立过一个多年前的学校。
感谢
答
所以,你想,对于一个特定的度假胜地,集设施无法与度假相关:
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
是已经链接到度假村的设施。
答
如果我理解你需要什么,你可以尝试:
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
完蛋了......非常感谢您的帮助! – guyfromfl