Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno SQL

https://ctrlv.cz/shots/2019/01/11/bGQ6.png

Dobrý den,

mám tabulku TAB v ní jsou hodnoty ID, PORADI, DATUM a já potřebuji dostat výpis kde pokud má ID DATUM, které není NULL, tak vybrat nejvyšší PORADI s DATUM a pokud má ID u DATUM jen NULL hodnoty, tak vybrat nejnižší PORADI.

Požadovaný výstup je také v obrázku,

Díky moc za radu

Předmět Autor Datum
Použij UNION s dvěma dotazy. Prvním vybereš první část, druhým druhou část. Až budeš něco konkrétníh…
Jan Fiala 11.01.2019 11:28
Jan Fiala
Je to pro MS SQL, nevsiml jsem si, ze jsem to odmazal odkazem. Jinak domaci ukol to fakt neni, jen… nový
bcin 11.01.2019 11:58
bcin
v PL SQL: SELECT ID, poradi, datum FROM tab WHERE poradi = (SELECT MAX(poradi) FROM tab WHERE datum…
zavo 11.01.2019 11:34
zavo
Diky. poslední
bcin 11.01.2019 11:59
bcin

Použij UNION s dvěma dotazy. Prvním vybereš první část, druhým druhou část.
Až budeš něco konkrétního mít, napiš. Kompletní řešení domácí úlohy dávat nebudu.

Šlo by to i dotazy s poddotazy, ale nepíšeš, na jakém SQL serveru to má být. Od toho se odvíjí syntaxe

v PL SQL:
SELECT ID, poradi, datum
FROM tab
WHERE poradi = (SELECT MAX(poradi) FROM tab WHERE datum IS NOT NULL)
UNION
SELECT ID, poradi, datum
FROM tab
WHERE poradi = (SELECT min(poradi) FROM tab WHERE datum IS NULL)
;

Zpět do poradny Odpovědět na původní otázku Nahoru