0

例如,我有一个名为 table1 和 table2 的表;

table1{q_id,q_text,date},
table2{a_id,q_id,a_text}

我在两个表上运行一个连接查询,如下所示:

SELECT *
FROM table1
INNER JOIN table2 ON table1.q_id = table2.q_id

我会得到这样的数据

q_id     q_text    date   a_id   q_id   a_text
 1      sometext    ..     13      1    someanswer  
 1      sometext2   ..     67      1    someanswet2

因为它们将是两个表之间的一对多关系,所以一个 q_id 可能有很多 a_ids 我想进行查询以将所有具有相同 q_id 的 a_ids 放入同一行。如果你明白我的意思。所以上面的两行都有相同的 q_id 所以我希望它们在同一行。谢谢

4

2 回答 2

0
SELECT table1.q_id,table1.q_text,table1.date,table2.a_id,table2.a_text
    -> FROM table1
    -> LEFT JOIN table2
    -> ON table1.q_id = table2.q_id;
于 2012-08-10T17:09:45.847 回答
0
  SELECT table1.q_id,table1.q_text,table1.date,table2.a_id,table2.a_text, group_concat(table2.a_id SEPARATOR ',') as a_ids
-> FROM table1
-> LEFT JOIN table2
-> ON table1.q_id = table2.q_id
-> GROUP BY table1.q_id

使用 group_concat 和分隔符 ','

于 2012-08-10T17:32:17.863 回答