如果我有这样的表
Value1 Value2
1 A
1 B
2 A
2 B
2 C
3 A
3 B
4 A
4 C
5 B
5 A
6 C
7 B
8 B
9 A
我想只返回具有相同Value2的Value1(但不是更多而不是剩下的)。结果例如必须:
Value1 Result
1 3,5
2 NULL
3 1,5
4 NULL
5 1,3
6 NULL
7 8
8 7
9 NULL
我尝试了一些使用DISTINCT和INNER JOIN的FUNCTION,但我找不到任何解决方案。有人可以帮我理解怎么做吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以在sql语句中使用where子句来指定,只选择具有相等Value1值和Value2值的行。
使用以下SQL语句:
SELECT Value1 FROM table WHERE Value1 = Value2
答案 2 :(得分:0)
我不会为你写这篇文章,但这可能会引导你找到解决方案。
您需要使用FULL OUTER JOIN编写函数。在Value1<>Value1
上将表格加入自身,将您正在测试的Value1
与其他所有人进行比较。对于每个Value1配对,当FULL OUTER JOIN的任一侧为NULL时,则您没有匹配。当JOIN两侧没有NULLS用于配对时,它们完全匹配。