使用连接mysql对id进行分组?

时间:2012-08-10 17:04:13

标签: mysql codeigniter model

例如,我有一个名为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_id放入同一行。 如果你理解我的意思。所以上面的两行都有相同的q_id所以我希望它们在同一行。感谢

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分: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和separator','