表1
ID1 ID2
1 2
2 3
4 2
5 1
... ...
表2
ID NAME
1 xxx1
2 xxx2
3 xxx3
4 xxx4
5 xxx5
... ...
要求查处的情况如下所示
NAME1 NAME2
xxx1 xxx2
xxx2 xxx3
xxx4 xxx2
xxx5 xxx1
... ...
跪求高人指点。
ID1 ID2
1 2
2 3
4 2
5 1
... ...
表2
ID NAME
1 xxx1
2 xxx2
3 xxx3
4 xxx4
5 xxx5
... ...
要求查处的情况如下所示
NAME1 NAME2
xxx1 xxx2
xxx2 xxx3
xxx4 xxx2
xxx5 xxx1
... ...
跪求高人指点。
解决方案 »
- sql高手请进来,请问如何将查询的一列数据拼接用逗号隔开显示成一条记录?
- 数据库【检索排名】该怎么设计??
- 查询结果导出到access?
- 要在oracle上创建一个表,想先判断一下是否存在,如果存在则删除!在C#程序中实现
- 看有多少人在发呆 :) ,2点前结帖,散100
- 请教两个SQL语句不同Cost的原因
- 为什么中文版oracle,会忽然变成英文版??急!请帮忙!
- 建立索引问题
- 如何显示一个库中所有的表以及显示一个表的结构
- 求助,关于授权仍不能建表的问题
- 【数据库设计】-文章内容-不同的用户角色在前台查看的内容是不同的-【设计思路】-分不同的角色保存不同的内容-能行吗?
- proc中如何编译case when语句
from tb1 a,tb2 b
where a.id2=b.id
表1
ID1 ID2
1 2
... ...
表2
ID NAME
1 XXX1
2 XXX2
... ...
要求查询结果如下所示
NAME1 NAME2
XXX1 XXX2
... ...
见一个“高人”这样写道:
select max(case when a.id1=1 and a.id1=b.id then b.name) as name1,
max(case when a.id2=2 and a.id2=b.id then b.name) as name2
from tab1 a,tab2 b
我直接被雷倒。。
然后
select GetName(ID1),GetName(ID2) from table1
(select name from 表2 where id = t.id1) name1,
(select name from 表2 where id = t.id2) name2
from 表1 t
insert into tb1 values(1 , 2)
insert into tb1 values(2 , 3)
insert into tb1 values(4 , 2)
insert into tb1 values(5 , 1)
create table tb2(ID int, NAME varchar2(10))
insert into tb2 values(1 , 'xxx1')
insert into tb2 values(2 , 'xxx2')
insert into tb2 values(3 , 'xxx3')
insert into tb2 values(4 , 'xxx4')
insert into tb2 values(5 , 'xxx5') select
(select name from tb2 where id = t.id1) name1,
(select name from tb2 where id = t.id2) name2
from tb1 tdrop table tb1
drop table tb2/*
xxx1 xxx2
xxx2 xxx3
xxx4 xxx2
xxx5 xxx1
*/