新人发帖,表述不清,见谅!
以下表为例:
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
以下表为例:
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
我是这样写的:
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遍的情况,这是什么情况?
重新打一遍:
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
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