你好,我很抱歉,但我无法解决这个问题...我是初学者,不知道该怎么做...我有代码
SELECT a.firstname, a.surname, b.contact
FROM crm_client a
JOIN crm_client_contact b ON ( a.id = b.id_client )
WHERE id_iz = '98'
结果是我
name1 surname1 email1
name1 surname1 phonenumber1
name2 surname2 email2
name2 surname2 phonenumber2
我希望在下一列中有电话号码 电子邮件和电话号码有 id_contact 列...其中 1 是电话,2 是电子邮件... 有人能帮帮我吗?
最佳答案
如果这始终是格式 -> only phone number + email per name ,那么你可以简单地这样做:
SELECT a.firstname, a.surname, MAX(b.contact) as email, MIN(b.contact) as phone_number
FROM crm_client a
JOIN crm_client_contact b ON ( a.id = b.id_client )
WHERE id_iz = '98'
GROUP BY a.firstname,a.surname
这应该可行,因为数字在 ASCI 表中的位置低于字母,因此 - MIN
将选择电话号码,而 MAX
将选择电子邮件地址。
请注意,如果可能只存在 1 个值,则两列都将包含它。
关于mysql - 在mysql中将两行合并为一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46282208/