Ahoj, potřebuji z databáze s měřením hodnot získat data pro Grafanu s měsíční periodou. Mám 2 situace, buď získávám data pro jednu veličinu(komoditu) nebo pro skupinu takových veličin(komodit). Zda se jedná o jednotlivou veličinu nebo skupinu si ukládám jiným dotazem do proměnné $commodities , krterá nabývá hodnot např (1, 2, 3 .... ) = pro jednotlivé veličiny a např. (1grp, 2grp, 3grp ...) = pro skupiny veličin.
Tak abych dotaz mohl použít v grafaně potřebuji mít obě situace v jednom dotazu, nicméně dotaz končí chybou protože vrací více řádků pro subdotaz, samostatně dotazy v case fungují a zobrazí dané hodnoty pro každý z dvanácti měsíců. Nenapadlo by prosím někoho jak situaci řešit? Předem díky
SELECT
measurement.period AS "time",
2020 AS "metric",
(CASE
WHEN '$commodities' LIKE '%grp%'
THEN (SELECT
SUM(m.value) AS "value"
FROM group_commodity as g, measurement as m, connection as c
WHERE g.group_id = REPLACE('$commodities', 'grp', '')
AND c.group_id = g.group_id
AND m.commodity_id = c.commodity_id
AND YEAR(m.period) = 2020
GROUP BY m.period)
ELSE (SELECT
value
FROM measurement, commodity
WHERE measurement.commodity_id = commodity.commodity_id
AND measurement.commodity_id = $commodities
AND YEAR(period) = 2020
ORDER BY measurement.period)
END) as "value"
FROM measurement
WHERE
YEAR(period) = 2020