MYSQL - 从单行中的多行检索相关记录

时间:2016-06-30 18:38:11

标签: mysql rows

我有这张桌子:

person_id    first_name   middle_name    last_name    gender    form
P.1          John         null           null         null      form1
P.1          null         null           null         null      form1
P.1          null         R              null         null      form1
P.1          null         null           Doe          M         form1
P.2          Mary         null           null         null      form2
P.2          null         null           Jane         null      form2

如何返回以下结果集:

person_id    first_name   middle_name    last_name    gender    form
P.1          John         R              Doe          M         form1
P.2          Mary         null           Jane         null      form2        

1 个答案:

答案 0 :(得分:0)

http://sqlfiddle.com/#!9/85ab4/1

SELECT person_id,
  MAX(first_name), 
  MAX(middle_name), 
  MAX(last_name), 
  MAX(gender),
  form
FROM my_table
GROUP BY person_id, form

但你绝对应该改变你的数据库架构。