如何在Oracle中使用SQL来删除重复的id

时间:2015-08-07 15:29:55

标签: sql oracle select

我从表中有以下记录。我想在Oracle 9,10,11中使用SQL来完成我的任务。

1040    1040a   1040e   tax_id
                   Y    111
            Y           111
                   Y    4444
            Y           4444
Y                       4344
                   Y    4344

如何在Oracle中使用SQL来提取我想要的输出,如下所示:

1040    1040a   1040e   tax_id
            Y   Y       111
            Y   Y       4444
Y               Y       4344

我在Oracle 9 / 10g / 11g版本中运行SQL。

感谢您的帮助。 HT

2 个答案:

答案 0 :(得分:2)

看起来简单的Group byMax聚合应该做的伎俩

SELECT Max(1040),
       Max(1040a),
       Max(1040e),
       tax_id
FROM   yourtable
GROUP  BY tax_id 

答案 1 :(得分:0)

尝试:

SELECT tax_id, 1040, 1040a, 1040e
FROM
(
    SELECT tax_id, 1040
    FROM table
) A
FULL OUTER JOIN
(
    SELECT tax_id, 1040a
    FROM table
) B
ON A.tax_id=B.tax_id
FULL OUTER JOIN
(
    SELECT tax_id, 1040e
    FROM table
) C
ON A.tax_id=C.tax_id
/