У меня есть этот запрос:несколько результатов запроса в одной таблице
select sum(QTYINSTOCK * AVGPRICE) as Albums
from inventoryinfo
WHERE Category = 'Albums'
Она возвращает:
Albums
$660.80
Есть ли способ для меня, чтобы запустить несколько запросов в одном запросе и вернуться в одной таблице ? Например:
select sum(QTYINSTOCK * AVGPRICE) as Albums from inventoryinfo
WHERE Category = 'Albums'
select sum(QTYINSTOCK * AVGPRICE) as Prints from inventoryinfo
WHERE Category = 'Prints'
select sum(QTYINSTOCK * AVGPRICE) as Frames from inventoryinfo
WHERE Category = 'Frames'
Albums | $660.80
Prints | $123.00
Frames | $67.00
====== выглядит как консенсус, чтобы использовать объединение Результаты не совсем форматированный, как хотелось бы, он возвращает
Albums
660.80
123.00
67.00
Какого-то консенсус UNION, но правильный ответ GROUP BY – Brad
прав, поскольку это совокупность участвует, то 'версия UNION ALL' будет выполнять три сканирования (или сканирование диапазона переодетого индекс ищет), и версии 'UNION' могут добавить расточительный различный вид. Решение «GROUP BY» - это то, что вы должны использовать, потому что (а) оно намного проще и не избыточно, и (б) почти гарантированно работает лучше. –