У меня есть таблица базы данных Oracle, например, которая регистрирует проверяемый элемент в точке сканирования.Выберите несколько счетчиков из одной таблицы базы данных в одной команде sql
ItemsScan
ItemScanId
ItemScanPoint
ItemType
SCANTIME
Я хочу вернуть ItemScanPoint вместе с количество раз, когда определенный ItemType сканировался в этом ItemScanPoint.
Что-то вдоль линий ..
SELECT ItemScanPoint,
(SELECT COUNT(*) WHERE ItemType = 1),
(SELECT COUNT(*) WHERE ItemType = 2)
FROM ItemsScan
Как это сделать в оракула?
Каков наиболее эффективный способ?
@endorphin. Это, вероятно, лучшее решение, поскольку CASE является стандартным SQL, но также FYI можно использовать функцию Oracle DECODE(), например, 'SUM (DECODE (ItemType, 1, 1, 0)), SUM (DECODE (ItemType, 2, 1, 0)) '. Можете сохранить некоторые нажатия клавиш, если вам не требуется переносное решение. –