消除包含空格的重复行

时间:2015-06-29 12:51:53

标签: sql sql-server

我有一个条件,我有一个标题和一行项目的多行 我正在尝试将行连接中的值添加到我的标题查询中 此ActionResult字段的有效值为PGM_CD等。

如果一条线在一条线上有一个值而在另一条线上有空白,我需要在标题级别报告实际值,而不是空白值。
即 - 第1行为空白,第2行为V,我想报告V.
由于空白是某些值的有效值,因此我无法完全消除子查询中的空白。

如何查询所有行以发现它们全部为空白,我将在标题级别报告空白,或者在其中一行上有值,在这种情况下我会在标题处报告该值?

这是我的查询的一个子集

S, L, V, Blank

1 个答案:

答案 0 :(得分:0)

使用group bymax

SELECT 
   hdr.field1
   hdr.field2
   hdr.field3
   max(au.PGM_CD) AS PGM_CD
FROM HEADER hdr
  JOIN (SELECT DISTINCT l.ID, PGM_CD
        FROM LINE l 
        LEFT JOIN AUTH a
        ON l.ID = a.ID) AS au
  ON hdr.ID = au.ID
GROUP BY hdr.ID, hdr.field1, hdr.field2, hdr.field3