新人发帖,表述不清,见谅!
以下表为例:
name表:
Id_O Id_A Id_B  Name
1 1,2 3 Adams
2 2,3 2 Bush
3 3,1 1 Carter
number表:
OrderNo  Id_P
77895 1
44678 2
22456 3
24562 4
34764 5
其中name表的Id_A Id_B两列都与number表的Id_P关联。我想使用sql语句将Id_A对应的OrderNo和Id_B对应的OrderNo都在同一个SELECT语句中查询出来,求大神帮忙解决一下
我怕没解释清楚,我把我单独查询Id_A的sql语句贴出来:
select group_concat(B.OrderNo) FROM name A INNER JOIN number B ON find_in_set(B.Id_P,A.Id_A) GROUP BY A.Id_O

解决方案 »

  1.   

    再继续 INNER JOIN number C 就行了。
      

  2.   

    是直接接INNER JOIN吗?
    我是这样写的:
    SELECT group_concat(B.OrderNo) AS order1,group_concat(C.OrderNo) order2
    FROM name A 
    INNER JOIN number B ON find_in_set(B.Id_P,A.Id_A) 
    INNER JOIN number C ON find_in_set(B.Id_P,A.Id_A) 
    GROUP BY A.Id_O
    这样查询出来以后出现一些项重复2遍的情况,这是什么情况?
      

  3.   

    写错了……
    重新打一遍:
    SELECT group_concat(B.OrderNo) AS order1,group_concat(C.OrderNo) order2
    FROM name A 
    INNER JOIN number B ON find_in_set(B.Id_P,A.Id_A) 
    INNER JOIN number C ON find_in_set(C.Id_P,A.Id_A) 
    GROUP BY A.Id_O
      

  4.   

    又打错了……
    SELECT group_concat(B.OrderNo) AS order1,group_concat(C.OrderNo) AS order2
    FROM name A 
    INNER JOIN number B ON find_in_set(B.Id_P,A.Id_A) 
    INNER JOIN number C ON find_in_set(C.Id_P,A.Id_B) 
    GROUP BY A.Id_O