Article View: pl.comp.bazy-danych
Article #195396Re: SQL - składnia - zestawienie dla całego roku (m-c po m-cu)
From: geos
Date: Fri, 13 Oct 2017 07:52
Date: Fri, 13 Oct 2017 07:52
43 lines
2777 bytes
2777 bytes
On 13.10.2017 01:26, Tadeusz wrote:
> region_nazwa, tow_ilosc i tow_cena dla stycznia, tow_ilosc i tow_cena
> dla lutego, tow_ilosc i tow_cena dla marca, tow_ilosc i tow_cena dla
> [...], tow_ilosc i tow_cena dla ... grudnia
>
> nie mam pojęcia jak to rozkminić domniemam że będą to zagnieżdżone
> select-y w select-ach ale od wczoraj przeryłem to i owo u wujka Googla i
> chyba nie umiem korzystać z pomocy wujka ...
>
> bardzo proszę o podpowiedź co do składni
dużo napisałeś, ale bez podania bazy danych i przykładu z kilkoma
rekordami: jak wygląda pula rekordów, którą chcesz przekształcić i co
chciałbyś z niej uzyskać. niemniej jednak możesz zerknąć tutaj, być może
akurat to masz na myśli:
https://groups.google.com/d/msg/pl.comp.bazy-danych/3uviy3tR64U/FaOvZJmoAAAJ
interesuje Cię ostatni SQL. stosujesz case w postaci:
case when TH.trnhead_data between '2017-01-01' and '2017-01-31'
then region_nazwa
end region_styczeń,
case when TH.trnhead_data between '2017-01-01' and '2017-01-31'
then tow_ilosc
end tow_ilosc_styczeń,
case when TH.trnhead_data between '2017-01-01' and '2017-01-31'
then tow_cena
end tow_cena_styczeń
i dalej dla pozostałych miesięcy. jak zrobisz tylko te case to będziesz
miał zestawienia, ale "dziurawe": każdy będzie zawierał rekordy tylko
dla 1 miesiąca, pozostałe będą puste. i tu wkracza group by + jakaś
funkcja agregująca, jeśli w ogóle, prawdopodobnie sum na tow_ilość. nie
wiem jakiej funkcji chcesz użyć dla tow_cena, bo ceny zazwyczaj się albo
uśrednia ale chyba rzadko sumuje dla różnych towarów. być może więc nie
będzie dla ceny funkcji agregującej.
gdybyś podał przykład to byłoby jasne co chcesz uzyskać bez zgadywania.
pozdrawiam,
geos
Technical Details
Message-ID:
<59e070cf$0$15202$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<59dffa3c$0$5140$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Subject: Re: SQL - składnia - zestawienie dla całego roku (m-c po m-cu) Newsgroups: pl.comp.bazy-danych References: <59dffa3c$0$5140$65785112@news.neostrada.pl> From: geos <geos@SPAMPRECZ.autograf.pl> Date: Fri, 13 Oct 2017 09:52:46 +0200 MIME-Version: 1.0 In-Reply-To: <59dffa3c$0$5140$65785112@news.neostrada.pl> Lines: 44 Message-ID: <59e070cf$0$15202$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 37.8.237.192 X-Trace: 1507881167 unt-rea-a-02.news.neostrada.pl 15202 37.8.237.192:52953 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit