日期:2014-05-18  浏览次数:20601 次

??? 简单SQL语句查询 ???
Table1
单号 名称
1 a1
1 a2
1 a3
2 b1

Table2
单号 名称
1 a1

如何查询出单号等于1,Table1中不在Table2的记录
查询结果Table:

单号 名称
1 a2
1 a3



------解决方案--------------------
SQL code
if object_id('[Table1]') is not null drop table [Table1]
go
create table [Table1]([单号] int,[名称] varchar(2))
insert [Table1]
select 1,'a1' union all
select 1,'a2' union all
select 1,'a3' union all
select 2,'b1'
go
if object_id('[Table2]') is not null drop table [Table2]
go
create table [Table2]([单号] int,[名称] varchar(2))
insert [Table2]
select 1,'a1'
go

select a.*
from table1 a
left join table2 b on a.单号=b.单号 and a.名称=b.名称
where a.单号=1
and b.名称 is null
/**
单号          名称
----------- ----
1           a2
1           a3

(2 行受影响)
**/