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 关注
- 99 浏览
添加回答
举报