根据列内容排除行

时间:2012-06-13 15:18:03

标签: sql sql-server-2008

我正在尝试编写一个查询,如果另一列中的值存在,它将根据特定列中的公共值排除行。基本上:

选择电话,姓名,年龄 来自客户 等等等等

我想做的是:例如,如果一个客户的信息是:111-222-3333,Rick,45,并且无论出于何种原因,45是特定值,如果它存在,我会想要排除与相应电话号码匹配的所有后续行,我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:2)

听起来像WHERE NOT EXISTS可能在这里工作,

SELECT Phone, Name, Age
FROM Customer C
WHERE NOT EXISTS (
    SELECT * FROM Customer M
    WHERE M.Age = 45 AND M.Phone = C.Phone
)