У меня есть запрос, в котором я выдаю результаты со строками, которые содержат 0 значений.Я хотел бы исключить все строки, в которых столбцы B или C = 0. Чтобы исключить такие строки, я добавил T2.A <> 0 и T2.A! = 0. При этом значения 0 заменяются наЗначения NULL.Таким образом, я также добавил T2.A NOT NULL.
В моих результатах все еще отображаются столбцы, которые мне не нужны, которые показывают (null) и хотели бы исключить их.
SELECT
(SELECT
SUM(T2.A) as prem
FROM Table_2 T2, Table_2 T1
WHERE T2.ENT_REF = T1.ENT_REF
AND UPPER(T2.PER) = 'HURR'
AND UPPER(T2.ENT_TYPE) = 'POL'
AND T2.Cov NOT IN ('OUTPROP','COV')
AND T2.A <> 0
AND T2.A IS NOT NULL
) as B,
(SELECT
SUM(T2.A) as prem
FROM Table_2 T2, Table_2 T1
WHERE T2.ENT_REFE = T1.ENT_REF
AND UPPER(T2.PER) IN ('I', 'II', 'II')
AND UPPER(T2.ENT_TYPE) = 'POL'
AND T2.Cov NOT IN ('OUTPROP','COV')
AND T2.A <> 0
AND T2.A IS NOT NULL
) as C
В идеале результат будет выглядеть следующим образом:
+----+--------+--------+
| ID | B | C |
+----+--------+--------+
| 1 | 24 | 123 |
| 2 | 65 | 78 |
| 3 | 43 | 89 |
| 3 | 0 | 0 |
| 4 | 95 | 86 |
| 5 | 43 | 65 |
| 5 | (null) | (null) |
+----+--------+--------+
К чему-то похожему на следующее:
+----+-----+-----+
| ID | B | C |
+----+-----+-----+
| 1 | 24 | 123 |
| 2 | 65 | 78 |
| 3 | 43 | 89 |
| 4 | 95 | 86 |
| 5 | 43 | 65 |
+----+-----+-----+
Я также пытался использовать разные значения, но яесть другие столбцы, такие как даты, которые отличаются для каждой строки.Хотя мне нужно включать даты, они не так важны для меня, как получение столбцов B и C только со значениями> 0. Я также попытался использовать оператор GROUP BY ID, но я получаю ошибку, которая сообщает «ORA-00979»:не выражение GROUP BY '