🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych
2 messages
2 total messages Started by Radziwil Thu, 23 Feb 2023 09:42
Agregacja
#195787
Author: Radziwil
Date: Thu, 23 Feb 2023 09:42
19 lines
1810 bytes
Witam

Widzę, że Grupy dyskusyjne popadły w niełaskę, a szkoda, bo wiele osób tutaj mogło liczyć na wsparcie :-(
Mam problem z zapytanie i nie wiem jak go rozwiązać.
Przyjmijmy, że mam tabelę Tab1, a w niej 4 rekordy:
Kol1; Kol2, Kol3
123; Adam Mickiewicz; NULL
124; Bolesław Prus; NULL
125; Henryk Sienkiewicz; NULL
124; NULL; Stefan Żeromski

Potrzebuję, aby w wyniku zapytania otrzymać 3 wiersze, z czego w wierszu dla Kol1 = 124 były uzupełnione wszystkie kolumny, czyli:
Kol1; Kol2, Kol3
123; Adam Mickiewicz; NULL
124; Bolesław Prus; Stefan Żeromski
125; Henryk Sienkiewicz; NULL

Pozdrawiam
Darek
Re: Agregacja
#195788
Author: Andrzej Stróżyński
Date: Thu, 23 Feb 2023 13:19
34 lines
2228 bytes
W dniu 23.02.2023 o 10:42, Radziwil pisze:
> Witam
> 
> Widzę, że Grupy dyskusyjne popadły w niełaskę, a szkoda, bo wiele osób tutaj mogło liczyć na wsparcie :-(
> Mam problem z zapytanie i nie wiem jak go rozwiązać.
> Przyjmijmy, że mam tabelę Tab1, a w niej 4 rekordy:
> Kol1; Kol2, Kol3
> 123; Adam Mickiewicz; NULL
> 124; Bolesław Prus; NULL
> 125; Henryk Sienkiewicz; NULL
> 124; NULL; Stefan Żeromski
> 
> Potrzebuję, aby w wyniku zapytania otrzymać 3 wiersze, z czego w wierszu dla Kol1 = 124 były uzupełnione wszystkie kolumny, czyli:
> Kol1; Kol2, Kol3
> 123; Adam Mickiewicz; NULL
> 124; Bolesław Prus; Stefan Żeromski
> 125; Henryk Sienkiewicz; NULL
> 
> Pozdrawiam
> Darek

SELECT sub.kol1, sub.kol2,
(SELECT x.kol3 FROM tab x WHERE x.kol1=sub.kol1 AND x.kol3 IS NOT NULL) 
as kol3
FROM (SELECT kol1, kol2 FROM tab WHERE kol2 IS NOT NULL GROUP BY kol1, 
kol2) as sub
ORDER BY 1

Pod warunkiem, że w żadnym wierszu nie jest wypełnione jednocześnie kol2 
i kol3.

-- 
pozdrawiam
AS
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads