gui*_*lon 5 sql database postgresql
我在尝试解决这个问题时遇到了很多麻烦。有人可以帮助我吗?
我有一个带有 colA 和 colB 的表,这些表是每一行的值:
colA ColB
2 1
1 2
Run Code Online (Sandbox Code Playgroud)
在此表中进行选择时,我只想检索一行,因为值已反转。如果 2 意味着 1,则 1 意味着 2,所以它们是相等的,我不想要两行作为回报。
有什么方法可以进行 SQL 查询并获得我想要的结果?例如,只有一行 colA = 1,colB = 2。
如果只有 2 列:
WITH t(colA, colB) AS (
VALUES (1,2), (2,1)
)
SELECT DISTINCT least(colA, colB), greatest(colA, colB)
FROM t;
Run Code Online (Sandbox Code Playgroud)
编辑:正如丹尼尔所概述的,虽然这可能可以完成工作,但这种方法不适合过滤,因为它会更改原始数据。