【发布时间】:2011-11-19 11:04:57
【问题描述】:
我正在尝试使用自联接在 sqlite 中编写一个简单的查询。我想要具有相同成本的产品的所有 ID 对,但我想要唯一的对(即即使以不同的顺序也不要将同一对列出两次)。 这是我得到的:
SELECT b1.Id, b2.Id
FROM Basic AS b1
LEFT JOIN Basic AS b2
ON b1.cost = b2.cost
WHERE b1.Id != b2.Id
AND b1.Cost = 5;
所以我得到了类似的东西
23 | 101
23 | 205
24 | 103
101 | 23 <-- Duplicate!
我尝试了 DISTINCT 和 GROUP BY 的不同组合,但仍然得到重复的对:
我尝试过类似的东西
选择不同的 bp1.Id、bp2.Id ...
& ... = 5 按 bp1.Id、bp2.Id 分组;
我怎样才能摆脱重复的对?有什么想法吗?
感谢您的帮助!
【问题讨论】: