2 回答

TA貢獻1847條經驗 獲得超11個贊
您可以使用 NOT IN
SELECT `driverName`
FROM `A Drivers`
WHERE `driverYear` = 2020
AND `driverName` NOT IN (SELECT `driverA`
FROM `user_picks`
WHERE `userID` = 1
AND `raceYear` = 2020)

TA貢獻1811條經驗 獲得超4個贊
我知道您希望兩個表中的驅動程序名稱不重復。如果是這樣,您可以使用union:
SELECT `driverName` FROM `A Drivers` WHERE `driverYear` = 2020
UNION
SELECT `driverA` FROM `user_picks` WHERE `userID` = 1 AND `raceYear` = 2020
這將為您提供一個結果集,其中只有一個名為 的列driverName,沒有重復項。
另一方面,如果您想要第一個查詢中的記錄在第二個查詢的結果中不存在,則可以使用not exists:
SELECT `driverName`
FROM `A Drivers` ad
WHERE
`driverYear` = 2020
AND NOT EXISTS (
SELECT 1
FROM `user_picks` up
WHERE up.`userID` = 1 AND `up.raceYear` = 2020 and ip.`driverA` = ad.`driverName`
)
- 2 回答
- 0 關注
- 125 瀏覽
添加回答
舉報