如何在特定列SQL中删除具有重复值的行

时间:2012-07-16 14:59:22

标签: sql

SELECT      P.CODE,
            P.STATUS,
            G.DESCRIPTION,
            x.xref_code,
            X.XREF_STATUS

FROM        table1.price_data p,
            TABLE2.GENERAL_DATA G,
            TABLE3.XREF_DATA X

WHERE        
        P.CODE = G.CODE
        AND G.CODE=X.CODE
        AND x.code=4545645
        AND X.VEHICLE_CODE=9999999

有30,000行可以过滤...如何更改上述查询以仅显示x.xref_status的唯一值?

1 个答案:

答案 0 :(得分:1)

目前尚不清楚为什么你的X.XREF_STATUS重复:TABLE3表中有重复?或者,更有可能的是,相关记录中有许多对XREF_STATUS值的引用?

如果除X.XREF_STATUS之外的其他列的行不同,则您将无法选择一行而不是另一行来仅显示唯一的X.XREF_STATUS值。

可以使用以下命令获取唯一的X.XREF_STATUS值列表:

select distinct X.XREF_STATUS
from TABLE3.XREF_DATA X
where x.code=4545645
AND X.VEHICLE_CODE=9999999

这可以连接到其他表以获取相关数据,但是如果你加入一个包含多个X.XREF_STATUS引用的表,这将相应地重复。 您必须聚合其他列(COUNT,SUM等)以避免重复。