希望对两个表进行关联表A里面有两个列记录code,记录的值不一样
例:
COL1   COL2  COL3 .....
1       2    ........
2       3表B:master表,定义A的code对应的值
例:
code    name
1        张三
2        李四
3        王五希望对A的COL1和COL2同时和表B进行关联,取出名字。
例:对表A的例子数据进行检索
COL1 AS NAME1    COL2 AS NAME2 COL3 .....
张三               李四         .......
李四               王五         .......请问这样的关联查询用sql能够做到吗?还是只能先从表A把数据取出来,在程序里面对名字进行匹配?

解决方案 »

  1.   

    -- 当然可以!
    -- 不过:感觉你这个设计严重有问题!
    -- 如果你A表中有多少个字段,你就要连接B表多少次,
    -- 否则:只能用递归的写法:那样SQL简便,但执行效率不高!
      

  2.   

    一次关联肯定是实现不了,A表中有几列,估计你就要与B表关联几次吧,具体的比如
    select (select name from B where B.code=A.col1) COL1 AS NAME1, 
           (select name from B where B.code=A.col2) COL2 AS NAME2,
           COL3,
           ....
    FROM A;