SQL - 比较表中的两行并从搜索中排除

问题描述 投票:0回答:1

我检查了与行比较相关的其他论坛主题,但这些不是我正在寻找的东西。
我想比较两行,如果它们之间存在匹配,则应将它们从 SELECT 中排除 我有一张桌子
ID(主键) 房间ID 名字 姓氏 出生地
1 150 马克 詹姆斯 拉斯维加斯
2 120 迪尔德丽 汉克斯 伦敦
3 150 杰克 瘦身 维也纳
4 130 安娜玛丽亚 石榴石 巴黎

这就是我想要的
如果 RoomID = 150Place_of_Birth = Vienna,则 exclude 行,其中 RoomID = 150Place_of_Birth = 拉斯维加斯
说白了:
如果一行共享相同的列值,但每一行在另一列中包含不同的值,则不要将其包含在 SELECT 中
使用 WHERE 函数,我可以排除一个特定行,例如,显示不包含“Vienna”的行

有什么建议吗?

sql
1个回答
0
投票
SELECT * 
FROM MyTable   
WHERE RoomId NOT EXISTS (
     SELECT RoomId
     FROM MyTable
     WHERE RoomId = 150 AND Place_of_Birth = 'Las Vegas'
)
© www.soinside.com 2019 - 2024. All rights reserved.