我很难弄清楚如何为我的查询创建正确的语法。
这就是我要拉的。我有 2 张桌子。
Table 1 : Fields (user_id, name)
Table 2 : Fields (user_id, type, are_code, phone_number).
表 1 每个 user_id 只能有 1 条记录。
1 | John Doe
表 2 每个 user_id 最多可以有 3 条记录:
1 | Home | 123 | 456.4567
1 | Work | 000 | 987.1467
1 | Mobi | 098 | 987.1756
我如何选择所有内容,以便我的表将导致 1 条记录被拉出,如下所示:
user_id | name | home# | work# | mobi#
我试过这个,它根据表 2 中的条目数量复制和加倍行。
SELECT a.user_id,
b.area_code, b.phone_number
FROM users a
INNER JOIN user_contact_phones b ON a.user_id = b.user_id
不幸的是,这返回了 3 行,这不好:(。
1 | John Doe | area | home# |
1 | John Doe | area | work# |
1 | John Doe | area | mobi# |
任何帮助和/或指针将不胜感激。