Как я могу получить:
pn | min max
------ | ------
ABC123 | 0,0
ABC123 | 1,1
ABC123 | 1,1
ABC123 | 1,1
Кому:
pn | min max
------ | -------
ABC123 | 3,3
- База данных Oracle 11g
- PL / SQL 11.2.4.0
Вот что у меня сейчас:
SELECT
PN_INVENTORY_LEVEL.PN,
PN_INVENTORY_LEVEL.MAXIMUM_STOCK || ',' || PN_INVENTORY_LEVEL.MINIMUM_STOCK AS MIN_MAX
FROM
PN_INVENTORY_LEVEL
WHERE ("PN_INVENTORY_LEVEL"."PN" = :PN)
3
joshmc
8 Сен 2016 в 16:46
3 ответа
Лучший ответ
Попробуй использовать
SELECT
PN_INVENTORY_LEVEL.PN,
Sum(PN_INVENTORY_LEVEL.MAXIMUM_STOCK) || ',' || sum(PN_INVENTORY_LEVEL.MINIMUM_STOCK) AS MIN_MAX
FROM
PN_INVENTORY_LEVEL
WHERE ("PN_INVENTORY_LEVEL"."PN" = :PN)
group by PN_INVENTORY_LEVEL.PN
5
Christian
8 Сен 2016 в 13:50
Пытаться
SELECT pn, SUM(min) as min, SUM(max) as max FROM PN_INVENTORY_LEVEL GROUP BY pn
0
cmnardi
8 Сен 2016 в 13:49
Я считаю, что это будет ответ на ваш вопрос, если в одном столбце у вас есть min_max
в виде строки (замените tab
на your-table-name ):
WITH
tab1 AS(
SELECT t.pn,
t.min_max,
INSTR(t.min_max, ',',1) POS
FROM tab t
),
tab3 AS
(
SELECT tt.pn,
SUBSTR(tt.min_max, 1,tt.pos-1) st,
SUBSTR(tt.min_max,tt.pos+1,LENGTH(tt.min_max)-tt.pos) nd
FROM tab1 tt
)
SELECT ttt.pn,
SUM(ttt.st) || ',' || SUM(ttt.nd) min_max
FROM tab3 ttt
GROUP BY ttt.pn
Это дает мне результат:
1 ABC123 3,3
0
massko
8 Сен 2016 в 13:59
Похожие вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.