MYSQL - 从单行中的多行中检索相关记录
MYSQL - Retrieve related records from multiple rows in a single row
我有这个table:
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
如何return得到以下结果集:
person_id first_name middle_name last_name gender form
P.1 John R Doe M form1
P.2 Mary null Jane null form2
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
但您绝对应该更改您的数据库架构。
我有这个table:
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
如何return得到以下结果集:
person_id first_name middle_name last_name gender form
P.1 John R Doe M form1
P.2 Mary null Jane null form2
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
但您绝对应该更改您的数据库架构。