gpt4 book ai didi

php - SQL查询两个表

转载 作者:可可西里 更新时间:2023-11-01 08:06:42 24 4
gpt4 key购买 nike

我将尝试解释我面临的问题。

我有两个表:Team 和 Team_contacts

在第一个表中有如下信息:member_name, member_picture, phone and email

在 team_contacts 表中只有成员负责的国家和城市。

所以第一个表看起来像这样:

member_id: 1
member_name: moonwalker
member_picture: mw.jpg
member_phone: 06xxxxxxxx
member_email: mw@moonwalker.com

第二张表是这样的:

member_id: 1
country: USA
city: California

member_id: 1
country: USA
city: Miami

member_id: 1
country: NL
city: Amsterdam

我需要的是显示以下内容的查询:

mw.jpg 
Moonwalker
Phone: 06xxxxxxxx
Email: mw@moonwalker.com
Active in countries: USA, NL
Active in cities: California, Miami, Amsterdam

我尝试了不同的连接方法,但似乎没有任何效果。有没有办法用一个查询来做到这一点,还是我需要使用两个不同的查询?以及如何?

非常感谢您的帮助。

最佳答案

当您使用 MySQL 时,您可以:

SELECT team.*,
GROUP_CONCAT(team_contacts.country SEPARATOR ", ") AS active_in_countries,
GROUP_CONCAT(team_contacts.city SEPARATOR ", ") AS active_in_cities
FROM team
JOIN team_contacts USING (team_id)
GROUP BY team.member_id

请注意,列表的长度受 group_concat_max_len 限制,默认情况下为 1024,除非您使用以下示例更改它:

SET SESSION group_concat_max_len = @@max_allowed_packet

关于php - SQL查询两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12552599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com