出于这个问题的目的,以下是我的问题的简化。我有两张桌子。
表简介:
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
我怎样才能编写一个可以实现这一目标的查询?