Tab1 Tab2
----------- -------------
[船籍港] [DQMC]泰州 泰州
六安 六安
泰州 淮安
周口
六安
六安
泰州
宣城
泰州
淮安select [船籍港] from Tab1 t where not exists(select 1 from Tab2 where DQMC=t.[船籍港])
上述程序为什么查询出来的结果不是下面的:[船籍港]
------------
周口
宣城而还是[船籍港]
------------
泰州
六安
泰州
周口
六安
六安
泰州
宣城
泰州
淮安非常纠结,请给为大虾指点!
Tab1中[船籍港]字段为nvarchar(255)
Tab2中[DQMC]字段为nvarchar(50)
----------- -------------
[船籍港] [DQMC]泰州 泰州
六安 六安
泰州 淮安
周口
六安
六安
泰州
宣城
泰州
淮安select [船籍港] from Tab1 t where not exists(select 1 from Tab2 where DQMC=t.[船籍港])
上述程序为什么查询出来的结果不是下面的:[船籍港]
------------
周口
宣城而还是[船籍港]
------------
泰州
六安
泰州
周口
六安
六安
泰州
宣城
泰州
淮安非常纠结,请给为大虾指点!
Tab1中[船籍港]字段为nvarchar(255)
Tab2中[DQMC]字段为nvarchar(50)
-- Author : liangCK 梁爱兰
-- Comment: 小梁 爱 兰儿
-- Date : 2009-11-26 15:59:00
-------------------------------------
--> 生成测试数据: @Tab1
DECLARE @Tab1 TABLE (船籍港 varchar(4))
INSERT INTO @Tab1
SELECT '泰州' UNION ALL
SELECT '六安' UNION ALL
SELECT '泰州' UNION ALL
SELECT '周口' UNION ALL
SELECT '六安' UNION ALL
SELECT '六安' UNION ALL
SELECT '泰州' UNION ALL
SELECT '宣城' UNION ALL
SELECT '泰州' UNION ALL
SELECT '淮安'
--> 生成测试数据: @Tab2
DECLARE @Tab2 TABLE (DQMC varchar(4))
INSERT INTO @Tab2
SELECT '泰州' UNION ALL
SELECT '六安' UNION ALL
SELECT '淮安'--SQL查询如下:select [船籍港] from @Tab1 t where not exists(select 1 from @Tab2 where DQMC=t.[船籍港]) /*
船籍港
----
周口
宣城(2 行受影响)
*/
declare @Tab1 table ([船籍港] nvarchar(62))
insert into @Tab1
select N'泰州' union all
select N'六安' union all
select N'泰州' union all
select N'周口' union all
select N'六安' union all
select N'六安' union all
select N'泰州' union all
select N'宣城' union all
select N'泰州' union all
select N'淮安'
declare @Tab2 table ([DQMC] nvarchar(62))
insert into @Tab2
select N'泰州' union all
select N'六安' union all
select N'淮安'--select * from @Tab1select [船籍港] from @Tab1 t where not exists(select 1 from @Tab2 where DQMC=t.[船籍港])
船籍港
--------------------------------------------------------------
周口
宣城(2 行受影响)
我的是好的
where n.DQMC=m.[船籍港]
INSERT INTO @Tab1
SELECT '泰州' UNION ALL
SELECT '六安' UNION ALL
SELECT '泰州' UNION ALL
SELECT '周口' UNION ALL
SELECT '六安' UNION ALL
SELECT '六安' UNION ALL
SELECT '泰州' UNION ALL
SELECT '宣城' UNION ALL
SELECT '泰州' UNION ALL
SELECT '淮安'
--> 生成测试数据: @Tab2
DECLARE @Tab2 TABLE (DQMC varchar(4))
INSERT INTO @Tab2
SELECT '泰州' UNION ALL
SELECT '六安' UNION ALL
SELECT '淮安'select m.* from @tab1 m where 船籍港 not in (select distinct DQMC from @tab2)/*
船籍港
----
周口
宣城(所影响的行数为 2 行)
*/
(vname varchar(255))create table #Tab2
(vname varchar(50))
insert into #Tab1
select '泰州'
union all
select '六安'
union all
select '六安'
union all
select '六安'
union all
select '宣城'
union all
select '泰州'
union all
select '泰州'
union all
select '周口'insert into #Tab2
select '泰州'
union all
select '六安'select * from #Tab1 as t
where not exists(select 1 from #Tab2 where vname=t.vname)