0
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 的唯一值?

4

1 回答 1

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 等)以避免重复。

于 2012-07-16T15:09:29.730 回答