我正在尝试一个简单的自连接,但它的输出有些不稳定。
我的表(输入)如下所示:
ID | Value
1 | val1
1 | val2
1 | val3
2 | val4
2 | val5
2 | val6
2 | val7
我想要达到的目标如下:
ID 1 | Value 1 | ID 2 | Value 2
1 | val1 | 2 | val4
1 | val2 | 2 | val5
1 | val3 | 2 | val6
Null | Null | 2 | val7
我实现此输出的尝试如下:
SELECT DISTINCT
column1.ID,
column1.value,
column2.ID,
column2.value
FROM table column1
INNER JOIN table column2 ON column1.ID = 1 AND column2.ID = 2
这段代码返回了错误的行数;我应该得到的总行数是 4,最后有几个空值。我没有得到任何空值,但我确实得到了一些我不知道如何到达那里的数字。此外,如果选择从我的表中显示更多字段,则返回的行数会变得更大。我不明白这种行为。有人可以帮我解决吗?(并且可能告诉我我做错了什么)。