MariaDB [sandbox]> CREATE TABLE T(ID INT,REQUESTID INT, SID INT);
Query OK, 0 rows affected (0.28 sec)
MariaDB [sandbox]>
MariaDB [sandbox]> INSERT INTO T VALUES
-> (1,1,121),(2,1,122),
-> (3,2,121),(4,3,123),
-> (5,3,121),(6,3,125),
-> (7,3,126),(8,4,121),
-> (9,4,122);
Query OK, 9 rows affected (0.06 sec)
Records: 9 Duplicates: 0 Warnings: 0
MariaDB [sandbox]>
MariaDB [sandbox]>
MariaDB [sandbox]> SELECT T.ID,S.* FROM
-> (
-> SELECT REQUESTID ,GROUP_CONCAT(ID),GROUP_CONCAT(SID ORDER BY SID) SID
-> FROM T
-> GROUP BY REQUESTID
->) S
-> JOIN T ON T.REQUESTID = S.REQUESTID
-> WHERE S.SID = '121,122';
+------+-----------+------------------+---------+
| ID | REQUESTID | GROUP_CONCAT(ID) | SID |
+------+-----------+------------------+---------+
| 1 | 1 | 1,2 | 121,122 |
| 2 | 1 | 1,2 | 121,122 |
| 8 | 4 | 8,9 | 121,122 |
| 9 | 4 | 8,9 | 121,122 |
+------+-----------+------------------+---------+
4 rows in set (0.02 sec)
MariaDB [sandbox]>
MariaDB [sandbox]> SELECT T.ID,S.* FROM
-> (
-> SELECT REQUESTID ,GROUP_CONCAT(ID),GROUP_CONCAT(SID ORDER BY SID) SID
-> FROM T
-> GROUP BY REQUESTID
->) S
-> JOIN T ON T.REQUESTID = S.REQUESTID
-> WHERE S.SID = '121';
+------+-----------+------------------+------+
| ID | REQUESTID | GROUP_CONCAT(ID) | SID |
+------+-----------+------------------+------+
| 3 | 2 | 3 | 121 |
+------+-----------+------------------+------+
1 row in set (0.02 sec)
그것은 귀하의 질문에 데이터의 이미지를 넣어 정말 도움이되지이다. 왜? 우리는 답변자가 때때로 문제를 재현하기 위해 http://sqlfiddle.com을 사용하려고하기 때문에. 그러나 데이터를 다시 입력해야만 시도 할 것입니다. 질문을 편집하십시오. 가장 좋은 방법은 직접 sqlfiddle을 작성하는 것입니다. –
바이올린 링크로 내 질문을 업데이트했습니다. 도움이 되길 바랍니다. – user2159399