【发布时间】:2014-02-05 22:52:04
【问题描述】:
谁能帮我解决这个问题...
所以我有两张桌子。
user_info(用户名、名字、姓氏、地址) 和 user_contact(用户名、号码、主要、备用)
user_contacts 中的示例字段
('abc',xxx-xxx-xxxx,1,0)
('abc',xxx-xxx-xxxx,0,1)
('abc',xxx-xxx-xxxx,0,1)
('abc',xxx-xxx-xxxx,0,1)
('def',xxx-xxx-xxxx,1,0)
('def',xxx-xxx-xxxx,0,1)
('def',xxx-xxx-xxxx,0,1)
这意味着用户可以拥有多个备用电话号码。
我想要做的是加入这两个表,并得到类似的结果,
(用户名,主号码,备用 num1,备用 num2,备用 num3 ..)
到目前为止我所拥有的是这个,但这只能给我 1 个备用号码,而不是全部。
select username,firstname,lastname,address,
sum(if(c.primary=1,c.number,NULL) as primary,
sum(if(c.alternate=1,c.number,NULL) as alternate
from user_info as i left join
user_contact as c
on i.username = c.username
group by username
我将非常感谢您的帮助。我阅读了数据透视表,但找不到能回答我疑问的东西。
感谢广告
【问题讨论】:
-
考虑处理表示层/应用程序级代码中数据显示的问题(例如,作用于有序数组的简单 PHP 循环)
-
我同意,我是使用 PHP 完成的,但我需要使用 MySQL 才能这样做。
标签: mysql join pivot-table