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
من دو جدول به نامهای 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