ďťż
 
Kolumny w których sa podsumowania dla poszczególnych tygodni ďťż
 
Kolumny w których sa podsumowania dla poszczególnych tygodni
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Kolumny w których sa podsumowania dla poszczególnych tygodni



kurciok@poczta.onet.pl - 13-11-2006 00:44
Kolumny w których sa podsumowania dla poszczególnych tygodni
  Powiedzmy ze mam tabele ze sprzedawcami kazdy sprzedawca moze miec
wiele transakcji kumpna i sprzedazy (kazda transakcja ma swoja
date). Transakcje sa zapisywane w osobnej tabeli i za pomoca joina
mozna zidentyfikowac jakie transakcje naleza do danego sprzedawcy.

A chcialbym wyswietlic jak sprzedaz wygladala dla kazdego
tygodnia w roku tak aby kazdy tydzien byl w nowej kolumnie tabeli.

Mozna pogrupowac transakcje wedlug danego sprzedawcy i zsumowac
kowte sprzedazy tak aby data sprzedazy zawierala sie w danym
tygodniu. Ale to bedzie wtedy tylko jedna kolumna i dane dla jednego
tygodnia (a tygodni w roku jest 52). Chcialbym ulozyc jakies
ladne zapytanie które wyswietli mi dane dla 52 tygodni. Baza danych
to MSSQL 2005





piotrk@ai.pl - 13-11-2006 00:44

  kurciok@poczta.onet.pl napisał(a):
> A chcialbym wyswietlic jak sprzedaz wygladala dla kazdego
> tygodnia w roku tak aby kazdy tydzien byl w nowej kolumnie tabeli.

Nie daję gwarancji, że to zadziała, ale może jako wskazówka,
do ew. poprawki :)

SELECT s.idsprzedawcy, s.nazwisko, DATEPART(wk, datasprzedazy) AS
tydzien, SUM(t.kwota)
FROM sprzedawcy s JOIN transakcje t
ON s.idsprzedawcy = t.idsprzedawcy
GROUP BY s.idsprzedawcy, s.nazwisko, tydzien




kurciok@poczta.onet.pl - 13-11-2006 00:44

 
piotrk@ai.pl napisał(a):
> kurciok@poczta.onet.pl napisał(a):
> > A chcialbym wyswietlic jak sprzedaz wygladala dla kazdego
> > tygodnia w roku tak aby kazdy tydzien byl w nowej kolumnie tabeli.
>
> Nie daję gwarancji, że to zadziała, ale może jako wskazówka,
> do ew. poprawki :)
>
> SELECT s.idsprzedawcy, s.nazwisko, DATEPART(wk, datasprzedazy) AS
> tydzien, SUM(t.kwota)
> FROM sprzedawcy s JOIN transakcje t
> ON s.idsprzedawcy = t.idsprzedawcy
> GROUP BY s.idsprzedawcy, s.nazwisko, tydzien

Ok to jest prawie że to o co mi chodziło ;), nie do końca bo
stosując takie zapytanie dostaje 4 kolumny, a kolejne tygodnie są
zapisywane w kolejnych wierszach (także informacje niby jest ale nie
do końca w takiej formie jak chciałem). Co teraz zrobić abym dostał
tabelę z 52 kolumnami (każda kolumna odpowiada innemu tygodniowi).
Myślałem aby zrobić widok ale może też jest jakieś inne wyjście?




Grzesiek G. - 13-11-2006 00:44

  kurciok@poczta.onet.pl napisał(a):
> piotrk@ai.pl napisał(a):
>
>>kurciok@poczta.onet.pl napisał(a):
>>
>>>A chcialbym wyswietlic jak sprzedaz wygladala dla kazdego
>>>tygodnia w roku tak aby kazdy tydzien byl w nowej kolumnie tabeli.
>>
>>Nie daję gwarancji, że to zadziała, ale może jako wskazówka,
>>do ew. poprawki :)
>>
>>SELECT s.idsprzedawcy, s.nazwisko, DATEPART(wk, datasprzedazy) AS
>>tydzien, SUM(t.kwota)
>>FROM sprzedawcy s JOIN transakcje t
>>ON s.idsprzedawcy = t.idsprzedawcy
>>GROUP BY s.idsprzedawcy, s.nazwisko, tydzien
>
>
> Ok to jest prawie że to o co mi chodziło ;), nie do końca bo
> stosując takie zapytanie dostaje 4 kolumny, a kolejne tygodnie są
> zapisywane w kolejnych wierszach (także informacje niby jest ale nie
> do końca w takiej formie jak chciałem). Co teraz zrobić abym dostał
> tabelę z 52 kolumnami (każda kolumna odpowiada innemu tygodniowi).

Zastosuj PIVOT.

> Myślałem aby zrobić widok ale może też jest jakieś inne wyjście?
>

Jeżeli danych wejściowych nie jest bardzo dużo, to widok będzie dobrym
wyjściem. W przeciwnym razie załóż tabelę z wszystkimi kolumnami i
aktualizuj ją trigerem lub jobem.

Pozdrawiam

--
Grzegorz Gruza
Odpowiadając usuń "spamerom_nie." z adresu!!!





piotrk@ai.pl - 13-11-2006 00:44

  kurciok@poczta.onet.pl napisał(a):
> Ok to jest prawie że to o co mi chodziło ;), nie do końca bo
Oosp, racja - to chodziło o kolumny, nie o wiersze - nie doczytałem :)
Hmmm... chętnie poznałbym tego PIVOT'a, o którym pisze Grzegorz :)

Aczkolwiek - szukam w helpie do ASA i nie ma... z czego wnioskuję,
że nie jest to w standardzie SQL, a tylko jako rozszerzenie na
niektórych serwerach (?)

Pozdrawiam~~Piotrek~~pe3no.




Grzesiek G. - 13-11-2006 00:44

  piotrk@ai.pl napisał(a):
> kurciok@poczta.onet.pl napisał(a):
>
>> Ok to jest prawie że to o co mi chodziło ;), nie do końca bo
>
> Oosp, racja - to chodziło o kolumny, nie o wiersze - nie doczytałem :)
> Hmmm... chętnie poznałbym tego PIVOT'a, o którym pisze Grzegorz :)
>
> Aczkolwiek - szukam w helpie do ASA i nie ma... z czego wnioskuję,
> że nie jest to w standardzie SQL, a tylko jako rozszerzenie na
> niektórych serwerach (?)

Dokładnie. Pytanie dotyczyło MS SQL 2005, na którym jest PIVOT.
Na ASA pozostaną pewnie 52 casy na 52 tygodnie.

Pozdrawiam

--
Grzegorz Gruza
Odpowiadając usuń "spamerom_nie." z adresu!!!
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Jak =?ISO-8859-2?Q?zamieni=E6_dwa_pola_jednej_kolumny_?==?ISO-8859-2?Q?w_dw=F3ch_rekordach_za_pomoc=B1_jednego_zapyt? ==?ISO-8859-2?Q?ania=3F?= [mysql] =?ISO-8859-2?Q?po=B3=B1czenie_tabel_wg_kolumn=2C_?==?ISO-8859-2?Q?nie_wierszy?= ms sql server - =?ISO-8859-2?Q?domy=B6lny_format_kolumn_ty?==?ISO-8859-2?Q?pu_datetime?= [ORACLE] Dodanie kolumny typu BLOB - =?ISO-8859-2?Q?wp=B3yw_na?==?ISO-8859-2?Q?_wydajno=B6c?= =?ISO-8859-2?Q?=5BORACLE=2C_ORDER_BY=5D_Czy_indeksowane_?==?I SO-8859-2?Q?kolumny_przy=B6piesz=B1_sortowanie=3F?= pytanie o zapytanie z having count = count z innej kolumny [MySQL/PHP] Wyszukiwanie rekordu przez kolumnę wskazaną przez zmienną =?iso-8859-2?q?Pytanie_SQL__spe=B3niaj=B1ce_wiecej_jak_jeden_ warunek_na_jednej_kolumnie=2E?= =?iso-8859-2?Q?=5BMSSQL2005=5D_Zawarto=B6c_kolumny_varbinary= 28max=29_?= SELECT MAX(nazwaPola) FROM tabela WHERE .... i ORA-01405: pobran? warto?ci? kolumny jest NULL
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nawschodzie.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com