出于这个问题的目的,以下是我的问题的简化。我有两张桌子。
表简介:
TABLE profile
profile_id | first_name | last_name
1 | David | Battery
2 | John | Motor
表 known_names:
TABLE known_names
profile_id | first_name
1 | A
1 | B
1 | C
2 | X
2 | Y
2 | X
我想要实现的是在 profile.profile_id = known_names.profile_id 时将 known_names.first_name 与 profile.last_name 一起输出。但是我还想在结果的其中一行中打印出 profile.first_name 和 profile.last_name 。
所以查询可能看起来像这样(语法错误,我正在寻找正确的查询来执行此操作):
SELECT profile_id, first_name, last_name FROM profile CROSS JOIN known_names ON known_names.profile_id = profile.profile_id WHERE profile.first_name = 'David'
结果的一个例子是:
profile_id | first_name | last_name
1 | David | Battery
1 | A | Battery
1 | B | Battery
1 | C | Battery
我怎样才能编写一个可以实现这一目标的查询?