求一sql语句

yanhuizen 2005-07-07 10:16:12
a 表

编码,名称
1 a
2 b
3 c
4 d
5 e

b表

工程名 编码
工1 1
工1 2
工2 3
工2 4

求出b表工程名的 a表中编码不出现的记录。

想显出结果

工程名 编码
工1 3
工1 4
工1 5
工2 1
工2 2
工2 5
...全文
151 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
vivianfdlpw 2005-07-07
  • 打赏
  • 举报
回复
--删除测试环境
create table a
(
[编码] int,[名称] varchar(20)
)
create table b
(
[工程名] varchar(20),[编码] int
)

insert a
select 1,'a' union
select 2,'b' union
select 3,'c' union
select 4,'d' union
select 5,'e'
insert b
select '工1',1 union
select '工1',2 union
select '工2',3 union
select '工2',4

--测试
select distinct b.[工程名],a.[编码],a.[名称]
from b
left join a
on a.[编码] not in (select T.[编码] from b T where T.[工程名]=b.[工程名])

--删除测试环境
drop table a
drop table b

--结果
/*

工程名 编码 名称
-------------------- ----------- --------------------
工1 3 c
工1 4 d
工1 5 e
工2 1 a
工2 2 b
工2 5 e
*/
yanhuizen 2005-07-07
  • 打赏
  • 举报
回复
求b 表中按工程名分组 查a表中没有交集的编码
lsxaa 2005-07-07
  • 打赏
  • 举报
回复
select distinct b.工程名,a.编码
from b left join a on b.编码<>a.编码

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧