删除SQL SELECT中的simetrics元组

删除SQL SELECT中的simetrics元组,sql,tuples,Sql,Tuples,我正在使用MS SQL Server 2005 Express。我有表清单,我想检索所有具有相同颜色的产品对,例如 因此,我有以下疑问: SELECT I1.ProdId,I2,ProdId FROM Inventory AS I1,Inventory AS I2 WHERE I1.Color=I2.Color ORDER BY I1.ProdId 这将返回一些类似于以下内容的内容: ProdId|ProdId ------------- 1 | 2 1 | 3 2

我正在使用MS SQL Server 2005 Express。我有表清单,我想检索所有具有相同颜色的产品对,例如

因此,我有以下疑问:

SELECT I1.ProdId,I2,ProdId FROM Inventory AS I1,Inventory AS I2
WHERE I1.Color=I2.Color
ORDER BY I1.ProdId
这将返回一些类似于以下内容的内容:

ProdId|ProdId
-------------
   1  |  2
   1  |  3
   2  |  1
   2  |  3
   3  |  1
   3  |  2
我需要像1-2这样的对称元组,2-1只显示一个元组


有人有主意吗?谢谢

谢谢!您的查询工作不正常,但非常有帮助。我稍微修改了一下,效果很好。最后,它看起来是这样的:从peliculas中选择I1.ProdId、I2.ProdId作为P1,peliculas作为P2,其中P1.idIdiomaOriginal=P2.idIdiomaOriginal和I1.ProdIdI2.ProdId和I1.ProdIdSELECT I1.ProdId, I2,ProdId FROM Inventory AS I1, Inventory AS I2 WHERE I1.Color=I2.Color AND ( -- here I get the rows without the symmetric I1.ProdId || '-' || I2,ProdId <> I2.ProdId || '-' || I1,ProdId OR ( -- here I get the rows with the symmetric but only with the first id -- smaller than the second, so excluding 'duplication' I1.ProdId || '-' || I2,ProdId <> I2.ProdId || '-' || I1,ProdId AND I1.ProdId < I2.ProdId ) ) ORDER BY I1.ProdId