Я хочу, чтобы сумма значений столбца, когда я сделал объединение или что-то команду в запросе SQL - PullRequest
0 голосов
/ 28 октября 2018

SQL> (выберите цену на ПК, где модель = '1005')

2 объединение

3 (выберите цену на принтере, где модель = '3003');

ЦЕНА


 1999

 3599​

Спасибо, сэр, это мой код в sql.Но я не знаю, как сделать сумму этих значений.Как я могу суммировать значения при такой ситуации?Пожалуйста, помогите мне ..

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

Ты не хочешь UNION !!!Это удаляет дубликаты, поэтому вы не получите правильное значение, если цена окажется одинаковой.Вы хотите UNION ALL.

Один из способов сделать это - переместить запрос в предложение FROM и использовать агрегирование:

select sum(price)
from ((select price from PC where model = '1005'
      ) union all
      (select price from Printer where model = '3003'
      )
     ) p;

Для двух скалярных значений вы также можете простодобавьте их:

select ( (select price from PC where model = '1005') +
         (select price from Printer where model = '3003')
      )
from dual;

Конечно, если один из них отсутствует, то в этом случае будет результат NULL.

0 голосов
/ 28 октября 2018

Вам нужен внешний sql, который суммирует значения:

select sum(price) form (
select price from PC where model = '1005'
union
select price from Printer where model = '3003') as x
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...