Sql id,其中列有两个条件
我有一张加入和离开公司的客户表Sql id,其中列有两个条件,sql,sql-server,Sql,Sql Server,我有一张加入和离开公司的客户表 ID ActiveFrom ActiveTo 例如,我有一个where子句 where ActiveFrom <= '20170101' and Activeto < '20170201' 我想把这样做的客户排除在离开公司但又回来的客户之外 所以我只想返回id 2 请帮助您可以试试这个 SELECT * FROM Customer C1 WHERE C1.ActiveFrom <= '20170101' AND C1.
ID ActiveFrom ActiveTo
例如,我有一个where子句
where ActiveFrom <= '20170101'
and Activeto < '20170201'
我想把这样做的客户排除在离开公司但又回来的客户之外
所以我只想返回id 2
请帮助您可以试试这个
SELECT * FROM Customer C1
WHERE C1.ActiveFrom <= '20170101'
AND C1.Activeto < '20170201'
AND NOT EXISTS ( SELECT * FROM Customer C2
WHERE C1.ID = C2.ID
AND C2.ActiveTo IS NULL )
可以对WHERE语句使用子查询:
SELECT *
FROM tablename
WHERE (SELECT id FROM tablename WHERE activeTo is null) <> id
GROUP By id
您可以在此处找到更多信息:
这是brill谢谢,最棒的是将C2.ActiveTo为空更改为C2.ActiveFrom>='20170101',这是fab谢谢
SELECT *
FROM tablename
WHERE (SELECT id FROM tablename WHERE activeTo is null) <> id
GROUP By id