我有两张table。第一个是客户信息,第二个是电话号码。所以在第一张表中我会:
ID Name
1 John
2 jill
在第二张表中,我会:
ID phone ext notes customerID
1 687-5309 20 Primary 1
2 687-5310 55 John's cell phone 1
3 687-5311 18 Note! Emergency Only! 1
4 235-1189 2
5 235-2324 24 title:owner 2
当我查询它时,我希望它从正确的表中给我一个多维结果。所以结果是:
[ID]=>1
[Name]=>John
[phoneList]=>[
[
[ID]=>1 , [phone]=>687-5309 , [ext]=>20 , [notes]=>Primary ],
[ID]=>2 , [phone]=>687-5310] , [ext]=>55 , [notes]=>John's cell phone ],
[ID]=>3 , [phone]=>687-5311] , [ext]=>18 , [notes]=>Note! Emergency Only! ],
]
]
到目前为止,我只能做到:
SELECT *
FROM customer_info
LEFT JOIN (
SELECT *
FROM phone_numbers
) WHERE ID=1
我甚至不确定这是否可能。但感觉应该是这样。
1条答案
按热度按时间0yycz8jy1#
如果不对客户信息进行分组,它将只是一个简单的左连接。
但是如果你想要每个客户信息id有一个记录?
那你也可以
GROUP BY
客户信息,然后使用组concat获取一个包含电话id和电话号码的字符串。如果json_对象(mariadb,mysql)函数在您的版本中可用,那么您可以使用它。
在db上测试<fiddle here