🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #195396

Re: SQL - składnia - zestawienie dla całego roku (m-c po m-cu)

#195396
From: geos
Date: Fri, 13 Oct 2017 07:52
43 lines
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-mail
References: <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