PDA

View Full Version : انتخاب سطرهایی که در یک جدول دیگر موجود نباشند



i.lover3000
چهارشنبه 24 اسفند 1390, 02:00 صبح
سلام
من دو جدول به نامهای 1- AllGenre و 2- CustomGenreList دارم .

فیلدهای جدول AllGenre:
Genre_ID
Genre_Title
Genre_Avatar

فیلد های جدول CustomGenreList :
UserID
GenreID

میخوام سطرهایی که تو جدول CustomGenreList نیست از جدول AllGenre انتخاب بشه.
کد زیر رو نوشتم ولی در صورتی جواب میده که تو جدول CustomGenreList حداقل یه رکورد وجود داشته باشه.
فکر میکنم به جای CROSS JOIN باید از LEFT JOIN استفاده کنم ولی نمیدونم چطوری. خوشحال میشم کمک کنید.

SELECT DISTINCT AllGenre.Genre_ID, AllGenre.Genre_Title, AllGenre.Genre_Avatar
FROM Genre AS AllGenre CROSS JOIN
CustomGenreList
WHERE (NOT EXISTS
(SELECT UserID, GenreID
FROM CustomGenreList AS CustomGenre
WHERE (AllGenre.Genre_ID = GenreID) AND (UserID = @User_ID)))
ORDER BY AllGenre.Genre_Title

mina_ghorbani
چهارشنبه 24 اسفند 1390, 04:43 صبح
این طور بنویسید
SELECT *
FROM AllGener
WHERE Gener_Id NOT IN(SELECT GenerID FROM Gener)