日期:2014-05-18  浏览次数:20920 次

求SQL语句一条。很急~~~
table1 table2 两个表(table2中数字对应table1的关系表)
   
ID name num1 num2 num3
1 小李 2 3 1
2 小王 3 3 1
3 小赵 1 2 1

我想查 
num1 num1_name num2 num2_name num3 num3_name 
 2 小王 3 小赵 1 小李
... .....
... 以此类推。

------解决方案--------------------
木看懂
------解决方案--------------------
用存储过程,临时表吧,动态列比较烦,基本上一条SQL难以实现.
------解决方案--------------------
来个BT的

select t2.num1,t1.name,t2.num2,t3.name,t2.num3,t4.name from table2 as t2
join table1 as t1 on t2.num1 = t1.id
join table1 as t3 on t2.num2 = t3.id
join table1 as t4 on t2.num3 = t4.id
------解决方案--------------------
没看明白table2
------解决方案--------------------
SQL code

select num1, (select name from table1 where id = num1) as num1_name, num2,(select name from table1 where id = num2) as num2_name,num3,(select name from table1 where id = num3) as num3_name from table2

------解决方案--------------------
num1 num1_name num2 num2_name num3 num3_name
--------------------
 1 小李 2 小王 1 小李
 2 小王 3 小赵 1 小李
 3 小赵 3 小赵 1 小李
------解决方案--------------------
看不懂
------解决方案--------------------
num1 num1_name num2 num2_name num3 num3_name
----------- -------------------- ----------- -------------------- ----------- -------------------- 
1 小李 2 小王 1 小李
2 小王 3 小赵 1 小李
3 小赵 3 小赵 1 小李

(所影响的行数为 3 行)