我有三个表,每个表包含" ID"。最终结果应该将表A中的ID_1链接到表C中的ID_4。什么查询会返回ID_1到ID_4的所有组合?
CREATE TABLE TABLE_A AS (ID_1 STRING, ID_2 STRING );
CREATE TABLE TABLE_B AS (ID_2 STRING, ID_3 STRING );
CREATE TABLE TABLE_C AS (ID_3 STRING, ID_4 STRING );
Table_A中的ID_2与Table_B中的ID_2相同。 其中表_B中的ID_3与表_C中的ID_3相同。 每个表中ID之间的大多数关系都是1:1,但是有一些边缘情况很多:很多。
什么查询会产生以下组合的所有可能性?
ID_1 to ID_1
ID_1 to ID_4
ID_4 to ID_4
ID_1 to ID_1
与两个不同的ID_1到一个不同的ID_2的情况。
ID_4 to ID_4
是一个不同的ID_3到两个不同的ID_4的情况。
答案 0 :(得分:1)
正确的语法使用显式连接:
SELECT a.ID_1, c.ID_4
FROM TABLE_A a JOIN
TABLE_B b
ON a.ID_2 = b.ID_2 JOIN
TABLE_C c
ON b.ID_3 = c.ID_3;
也就是说,这在功能上等同于您的查询。