2017-01-02 128 views
-1

我有这个表:由两个字段合并MySQL表

first_name | last_name | mobile | email 
------------------------------------------------------- 
a   | b   | 123  | 
c   | d   | 456  | 
a   | b   |   | [email protected] 
c   | d   |   | [email protected] 

我想这些表结合起来,并得到报告,如:

first_name | last_name | mobile | email 
------------------------------------------------------- 
a   | b   | 123  | [email protected] 
c   | d   | 456  | [email protected] 

我试着按这样的:

SELECT * FROM table GROUP BY first_name AND last_name

+0

不清楚。你的问题是什么 ?请编辑问题并解释聊天内容与您提供的代码以及您想要的内容相反。 – kebs

+0

你在说'你要组合这些表',但你只有一个表。你不是指“记录”吗? – Loko

回答

3

当分组逗号分开的列。还可以使用max()获得非分组列的值,以避免得到空字符串

SELECT first_name, last_name, 
     max(mobile) as mobile, max(email) as email 
FROM your_table 
GROUP BY first_name, last_name 
0

试试这个:

Select t1.first_name ,t1.last_name,t1.mobile,t2.email from (select * from table where mobile != '') as t1 inner join (select * from table where email != '') as t2 on t1.first_name = t2.first_name;