Я пытаюсь сделать довольно сложное SELECT
вычисление, которое я обобщу:
- Основной запрос - это шаблон подстановки для таблицы
- Один подзапрос выполняет
COUNT()
всех элементов на основе условия (это прекрасно работает)
- Другой подзапрос делает
SUM()
чисел в столбце на основе другого условия. Это также работает правильно, за исключением случаев, когда никакие записи не удовлетворяют условиям, и возвращает NULL
.
Первоначально я хотел сложить два подзапроса, что-то вроде (subquery1)+(subquery2) AS total
, который отлично работает, если подзапрос2 не равен нулю, и в этом случае total
становится нулевым, независимо от того, каков результат подзапроса1. Моя вторая мысль состояла в том, чтобы попытаться создать третий столбец, который должен был быть вычислением двух подзапросов (т.е. (subquery1) AS count1, (subquery2) AS count2, count1+count2 AS total
), но я не думаю, что возможно вычислить два вычисляемых столбца, и даже если бы это было так, я чувствую как и та же проблема.
Есть ли у кого-нибудь элегантное решение этой проблемы, кроме простого получения двух значений подзапроса и их суммирования в моей программе?
Спасибо!