0
我有一個看起來像這樣的表...找到共同擔保人的所有記錄
drop table if exists test;
create table test (id int, member_id int, guarantor_id int);
insert into test values (1101, 1000, 1494);
insert into test values (1102, 3306, 3296);
insert into test values (1103, 3306, 1494);
insert into test values (1104, 3306, 5494);
insert into test values (1105, 9306, 7494);
mysql> select * from test;
+------+-----------+--------------+
| id | member_id | guarantor_id |
+------+-----------+--------------+
| 1101 | 1000 | 1494 |
| 1102 | 3306 | 3296 |
| 1103 | 3306 | 1494 |
| 1104 | 3306 | 5494 |
| 1105 | 9306 | 7494 |
+------+-----------+--------------+
5 rows in set (0.00 sec)
我需要編寫一個查詢,將返回這樣的結果...
+------+-----------+--------------+--------------+
| id | member_id | guarantor_id | co_guarantor |
+------+-----------+--------------+--------------+
| 1101 | 1000 | 1494 | |
| 1102 | 3306 | 3296 | 1494, 5494 |
| 1103 | 3306 | 1494 | 3296, 5494 |
| 1104 | 3306 | 5494 | 3296, 1494 |
| 1105 | 9306 | 7494 | |
+------+-----------+--------------+--------------+
5 rows in set (0.00 sec)
這就是我試過的。但它不會爲每個ID返回共同擔保人。
mysql> select member_id, group_concat(guarantor_id) from test group by member_id;
+-----------+----------------------------+
| member_id | group_concat(guarantor_id) |
+-----------+----------------------------+
| 1000 | 1494 |
| 3306 | 3296,1494,5494 |
| 9306 | 7494 |
+-----------+----------------------------+
3 rows in set (0.00 sec)
你怎麼能確定共同保證人的紀錄? –
同一成員有3名擔保人(編號:3306)所以他們是共同擔保人。 – shantanuo