Thread View: pl.comp.lang.delphi.bazy-danych
4 messages
4 total messages
Started by konsul41
Thu, 03 Aug 2017 08:04
SQL
Author: konsul41
Date: Thu, 03 Aug 2017 08:04
Date: Thu, 03 Aug 2017 08:04
14 lines
1312 bytes
1312 bytes
Baza to Postgres ale wolałbym uniwersalni W bazie są wiersze z miesiącem od 8 do 12, muszę mieć wykaz od 1 do 12 z wartością 0 dla miesięcy których nie ma w bazie. Ten SQL zwraca mi tylko wiersze z bazy select id_srodektrwaly::numeric,miesiac::numeric,miesodpis::numeric from planamortyzacji where rok='2017' and id_srodektrwaly=57 Pytanie jak uzupełnić wiersze w wyniku zapytania od 1 do 7 przy czym nie zawsze jest to 1-7, a często inaczej.
Re: SQL
Author: konsul41
Date: Thu, 03 Aug 2017 09:07
Date: Thu, 03 Aug 2017 09:07
12 lines
1238 bytes
1238 bytes
Próbowałem tak SELECT generate_series(1,12) AS mies ,plan.id_srodektrwaly,plan.miesodpis from planamortyzacji AS plano LEFT JOIN (select miesiac,id_srodektrwaly, miesodpis from planamortyzacji where rok='2017' and id_srodektrwaly=16 and miesiac=plano.mies)AS plan ON plano.miesiac=plan.miesiac where rok='2017' order by mies ale w podzapytaniu nie mogę użyć plano.miesiac
Re: SQL
Author: konsul41
Date: Thu, 03 Aug 2017 09:25
Date: Thu, 03 Aug 2017 09:25
8 lines
1250 bytes
1250 bytes
Chyba znalazłem SELECT generate_series::numeric,id_srodektrwaly::numeric,miesodpis::numeric FROM generate_series(1,12) LEFT JOIN (select miesiac::numeric,id_srodektrwaly::numeric, miesodpis::numeric from planamortyzacji where rok='2017' and id_srodektrwaly=57)AS plan ON plan.miesiac =generate_series
Re: SQL
Author: konsul41
Date: Thu, 03 Aug 2017 09:38
Date: Thu, 03 Aug 2017 09:38
13 lines
1541 bytes
1541 bytes
Działa to
SELECT *
FROM
crosstab( 'SELECT 57::numeric AS id_srodektrwaly,
generate_series::numeric,coalesce(miesodpis::numeric,0)
FROM generate_series(1,12)
LEFT JOIN (select miesiac::numeric,id_srodektrwaly::numeric,
miesodpis::numeric from planamortyzacji where rok=''2017'' and
id_srodektrwaly=57)AS plan ON plan.miesiac =generate_series')
AS final_result(id_srodektrwaly numeric,m01 numeric,m02 numeric,m03
numeric,m04 numeric,m05 numeric,m06 numeric,m07 numeric,m08 numeric,m09
numeric,m10 numeric,m11 numeric,m12 numeric)
;
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