两个表A,B
A(甲,乙)
B(丙, 丁)
用一条查询语句得到结果显示4列
甲,乙,丙, 丁
如
A
甲,乙
1 , 1
2 , 2
3 , 3
B
丙, 丁
a , a
b , b
c , c
得到查询结果:
甲,乙,丙, 丁
1 , 1 , a, a
2 , 2 , b, b
3 , 3 , c, c
...全文
477打赏收藏
求教SQL查询
两个表A,B A(甲,乙) B(丙, 丁) 用一条查询语句得到结果显示4列 甲,乙,丙, 丁 如 A 甲,乙 1 , 1 2 , 2 3 , 3 B 丙, 丁 a , a b , b c , c 得到查询结果: 甲,乙,丙, 丁 1 , 1 , a, a 2 , 2 , b, b 3 , 3 , c, c
create table A (甲 int,乙 int)
insert A values(1,1)
insert A values(2,2)
insert A values(3,3)
create table B (丙 char,丁 char)
insert B values('a','a')
insert B values('b','b')
insert B values('c','c')
select *,identity(int,1,1) a into AA from A
select * ,identity(int,1,1) b into BB from B
select AA.甲 甲,AA.乙 乙,BB.丙 丙,BB. 丁 丁 from AA,BB where AA.a = BB.b
--生成数据测试表
select * into #tb1 from(
select 甲=1,乙=1
union all select 2,2
union all select 3,3
) a
select * into #tb2 from(
select 丙='a',丁='a'
union all select 'b','b'
union all select 'c','c'
) b
--得到处理结果
select 甲,乙,丙,丁 from(
select id=(select sum(1) from #tb1 where 甲<=a.甲),*
from #tb1 a
) a inner join (
select id=(select sum(1) from #tb2 where 丙<=a.丙),*
from #tb2 a
) b on a.id=b.id
--删除数据测试环境
drop table #tb1,#tb2
/*--测试结果:
甲 乙 丙 丁
----------- ----------- ---- ----
1 1 a a
2 2 b b
3 3 c c
select 甲,乙,丙,丁 from(
select id=(select sum(1) from A where 甲<=aa.甲),*
from A aa
) a inner join (
select id=(select sum(1) from B where 丙<=aa.丙),*
from B aa
) b on a.id=b.id