急----将两个不相关的表合并成一个表该怎么写?

xiaokun111 2003-12-21 05:29:41
第一个表:
ID A
1 张三
2 李四
3 王五

第二个表:

ID B
556 张三三
668 李四四
788 王五五

合并后的表:

A B
张三 张三三
李四 李四四
王五 王五五

...全文
54 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gmlxf 2003-12-21
  • 打赏
  • 举报
回复
--测试环境
declare @t1 table(A numeric(10,0))
declare @t2 table(B numeric(10,0))
--测试数据
insert @t1
select 454
union select 756
union select 345
union select 123

insert @t2
select 23
union select 45

--实现
select A,B
from @t1 a left join @t2 b
on
(select count(*) from @t1 where A<=a.A)
=
(select count(*) from @t2 where B<=b.B)
order by a.A

/*
A B
------------ ------------
123 23
345 45
454 NULL
756 NULL
*/
j9988 2003-12-21
  • 打赏
  • 举报
回复
select identity(int,1,1) as id,A into #t1 from tableA

select identity(int,1,1) as id,B into #t2 from tableB

select A,B from #t1 C full join #t2 D on C.id=D.id
xiaokun111 2003-12-21
  • 打赏
  • 举报
回复
帮帮忙!上一层的问题该怎么写?
xiaokun111 2003-12-21
  • 打赏
  • 举报
回复
第一个表:
A
454
756
345
123

第二个表:

B
23
45


合并后的表:

A B
123 23
345 45
454
756

合并后的表是从小到大排序的表.
gmlxf 2003-12-21
  • 打赏
  • 举报
回复
那么我写的A和B两个字段全为numeric类型该怎么写?(Thank!)
---
也是一样的,没有问题。
xiaokun111 2003-12-21
  • 打赏
  • 举报
回复
那么我写的A和B两个字段全为numeric类型该怎么写?(Thank!)
gmlxf 2003-12-21
  • 打赏
  • 举报
回复
楼上的,借用一下表结构,谢谢:

--测试环境
declare @table1 table(id int,A varchar(50))
declare @table2 table(id int,B varchar(50))
--测试数据
insert @table1 values(1,'张三')
insert @table1 values(2,'李四')
insert @table1 values(3,'王五')
insert @table2 values(556,'张三三')
insert @table2 values(668,'李四四')
insert @table2 values(788,'王五五')
--实现
select a.A,b.B
from @table1 a,@table2 b
where
(select count(*) from @table1 where id<=a.id)
=
(select count(*) from @table2 where id<=b.id)

shuiniu 2003-12-21
  • 打赏
  • 举报
回复
--测试环境
declare @table1 table(id int,A char(4))
declare @table2 table(id int,B char(6))
--测试数据
insert @table1 values(1,'张三')
insert @table1 values(2,'李四')
insert @table1 values(3,'王五')
insert @table2 values(556,'张三三')
insert @table2 values(668,'李四四')
insert @table2 values(788,'王五五')
--实现
select a.A,b.B
from @table1 a join @table2 b
on charindex(a.A,b.B) > 0

/*
A B
---- ------
张三 张三三
李四 李四四
王五 王五五

(所影响的行数为 3 行)
*/
shuiniu 2003-12-21
  • 打赏
  • 举报
回复
--try:
select a.A ,b.B from
第一个表 a join 第二个表 b
on CHARINDEX(a.A, b.B) > 0

34,576

社区成员

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

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