急!求助一条SQL的写法!

来源:百度知道 编辑:UC知道 时间:2024/06/07 22:25:58
关联两个表查询:
A表的2个ID字段,要到同一个主表中连接取出对应的内容。
如下:
A表
ID_1 DI_2
01 03
02 02
03 01

B表
ID VALUE
01 AAAA
02 BBBB
03 CCCC

希望得到的结果集:
A.ID_1 B.VALUE A.DI_2 B.VALUE
01 AAAA 03 CCCC
02 BBBB 02 BBBB
03 CCCC 01 AAAA

现在的实现方法是:
SELECT A.ID_1 , B1.VALUE VALUE_1 ,
A.DI_2 , B2.VALUE VALUE_2
FROM A LEFT JOIN B B1 ON A.ID_1 = B1.ID
LEFT JOIN B B2 ON A.ID_1 = B2.ID
这样的话主表B被JOIN了2次,
事实上,因为像上面的那样,A表里要与B表JOIN的字段有N多个,
所以使用上述方法就要与B表JOIN N次,能否只与B表连接一次
就可以取出多个字段的方法?
谢谢!
mxm_1123的方法可以实现,但与我现在使用的方法差不多,都是多次使用了B表。
badkano的方法,实现不了,结果集不同。

我是想要只连接一次B表的方法。
谢谢大家!

select a.id_1,(select distinct value from b where id=a.id_1) as b_value,a.id_2,(select distinct value from b where id=a.id_2) as b_value from a
_______________________________________________
没有方法可以实现一次连接

哦,看错了,呵呵,重新写
select A.ID_1, B.VALUE, A.ID_2 ,C.VALUE tableA ,tableB,(select A.ID_2 AS C.ID ,B.VALUE as C.VALUE from tableA ,tableB where A.ID2=B.ID) C where A.ID_1=B.ID AND A.ID_2=C.ID