我有一个条件,我有一个标题和一行项目的多行
我正在尝试将行连接中的值添加到我的标题查询中
此ActionResult
字段的有效值为PGM_CD
等。
如果一条线在一条线上有一个值而在另一条线上有空白,我需要在标题级别报告实际值,而不是空白值。
即 - 第1行为空白,第2行为V,我想报告V.
由于空白是某些值的有效值,因此我无法完全消除子查询中的空白。
如何查询所有行以发现它们全部为空白,我将在标题级别报告空白,或者在其中一行上有值,在这种情况下我会在标题处报告该值?
这是我的查询的一个子集
S, L, V, Blank
答案 0 :(得分:0)
使用group by
和max
:
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