34,597
社区成员
发帖
与我相关
我的任务
分享
declare @tb table(f1 int, f2 varchar(5))
insert @tb
SELECT 1001, 'TRUE' UNION ALL
SELECT 1003, 'FALSE' UNION ALL
SELECT 1006, 'FALSE' UNION ALL
SELECT 1002, 'TRUE' UNION ALL
SELECT 1002, 'FALSE' UNION ALL
SELECT 1004, 'FALSE'
select * from @tb as a where not exists(select 1 from @tb where f1=a.f1 and f2='TRUE')
/*
f1 f2
----------- -----
1003 FALSE
1006 FALSE
1004 FALSE
*/
declare @t table
(
col1 int,
col2 varchar(10)
)
insert @t select 1001,'TRUE'
union all select 1003,'FALSE'
union all select 1006,'FALSE'
union all select 1002,'TRUE'
union all select 1002,'FALSE'
union all select 1004,'FALSE'
select
a.*
from @t a
where NOT exists(
select
*
from @t
where col1 = a.col1
and col2 = 'TRUE')
f1 f2
----------- -----
1003 FALSE
1006 FALSE
1004 FALSE
--> liangCK小梁 于2008-10-23
--> 生成测试数据: #T
IF OBJECT_ID('tempdb.dbo.#T') IS NOT NULL DROP TABLE #T
CREATE TABLE #T (字段1 INT,字段2 VARCHAR(5))
INSERT INTO #T
SELECT 1001,'TRUE' UNION ALL
SELECT 1003,'FALSE' UNION ALL
SELECT 1006,'FALSE' UNION ALL
SELECT 1002,'TRUE' UNION ALL
SELECT 1002,'FALSE' UNION ALL
SELECT 1004,'FALSE'
--SQL查询如下:
SELECT *
FROM #T AS t
WHERE NOT EXISTS
(
SELECT *
FROM #T
WHERE 字段1=t.字段1
AND 字段2='True'
)
/*
字段1 字段2
----------- -----
1003 FALSE
1006 FALSE
1004 FALSE
(3 行受影响)
*/
select a.* from tb a
where not exists(select 1 from tb where 字段1=a.字段1 and 字段2-'true')