SQL 问题,急!!!!在线等!

zdgood 2008-07-11 04:39:46
table1: name qty
ks 100
ac 200
af 300

table2: name qty
ks 100
aa 200
ac 300
af 300

table3: name qty
kk 100
ka 200
kb 300
kc 300
结果如下:
name qty name qty name qty
ks 100 ks 100 kk 100
ac 200 aa 200 ka 200
af 300 ac 300 kb 300
af 300 kc 300

三个表之间没有关系。
...全文
48 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zdgood 的回复:]
我的意思是,这三个没有关系的表怎莫能让它们并列显示?
[/Quote]

--如果每个表qty(qty+name)能区分大小
select m1.* , m2.name , m2.qty from
(
select t1.name , t1.qty , t2.name , t2.qty from
(
select * , id = (select count(1) from tb1 where qty < t.qty or (qty = t.qty and name < t.name)) + 1 from tb1 t
) t1
full join
(
select * , id = (select count(1) from tb1 where qty < t.qty or (qty = t.qty and name < t.name)) + 1 from tb2 t
) t2
on t1.id = t2.id
) m1
full join
(
select * , id = (select count(1) from tb1 where qty < t.qty or (qty = t.qty and name < t.name)) + 1 from tb3 t
) m2
on m1.id = m2.id

--如果每个表qty(qty+name)不能区分大小
select * , id = identity(int,1,1) into t1 from tb1
select * , id = identity(int,1,1) into t2 from tb2
select * , id = identity(int,1,1) into t3 from tb3
select m1.* , m2.name , m2.qty from
(
select t1.name , t1.qty , t2.name , t2.qty from t1 full join t2 on t1.id = t2.id
) m1 full join t3 m2 on m1.id = m2.id

zdgood 2008-07-11
  • 打赏
  • 举报
回复
我的意思是,这三个没有关系的表怎莫能让它们并列显示?
注册失败 2008-07-11
  • 打赏
  • 举报
回复
三个表没有关系,你又不说按什么规则来查数据
我只能告诉你
select t1.name,t1.qty,t2.name,t2.qty,t3.name,t3.qty from table1 t1,table2 t2,table3 t3
Clove 2008-07-11
  • 打赏
  • 举报
回复
3表没有关系你把它组合起来干什么
用游标吧

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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