我必须在postgresql中加入相同的查询,但我每列几列只需要一行;即我不想要包含column1 - column2的行,以及包含column2 - column1的行。
示例:
WITH q AS
(...)
SELECT q1.title AS title1, q2.title AS title2
FROM
q AS q1
INNER JOIN
q AS q2 USING(id)
WHERE q1.title != q2.title
编辑:假设可以通过相同的ID识别多个标题(名称选择不当)
所以q是一个预定义的查询,它有两列,即" title"和" id"。以这种方式组合它们逻辑上给了我这些结果:
title1 -- title2
x1 -- y1
y1 -- x1
...
xn -- yn
yn -- xn
等。但我只需要xi -- yi
套(0 < i <= n)
。
最好的方法是什么?
答案 0 :(得分:2)
只需更改!=
<
即可
WHERE q1.title < q2.title