ďťż
 
mssql - czy takie query jest =?iso-8859-2?Q?mo=BFliwe=3F?= ďťż
 
mssql - czy takie query jest =?iso-8859-2?Q?mo=BFliwe=3F?=
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

mssql - czy takie query jest =?iso-8859-2?Q?mo=BFliwe=3F?=



Jacek Osiecki - 01-07-2007 00:01
mssql - czy takie query jest =?iso-8859-2?Q?mo=BFliwe=3F?=
  Witam,

SQLem posługuję się od dość dawna, ale nie jest to raczej zbyt zaawansowana
znajomość języka :)

Pojawił mi się następujący problem: mam tabelę, w której są notowania kursów
walut - jeden wiersz na komplet data+kolumna:

id_waluty | data | kurs

Gdzieś obok jest tabela waluty:

id | symbol

Chciałbym teraz uzyskać z tego tabelę, która w danym wierszu ma datę i listę
wszystkich kursów, czyli np:

data | kurs_eur | kurs_usd | kurs_gbp | kurs_nok ...

itd, zależnie od tego ile walut jest wymienionych w tabeli waluty.

Nie wiem gdzie szukać przykładu takiego zapytania - bo zakładam że jak
najbardziej da się takie stworzyć, tylko moja wiedza jest zbyt cienka ;)
Jedyne co bym potrafił to zrobienie wieelkiego zapytania z subquery dla
każdej waluty - co jest dramatycznie nieeleganckie i nieoptymalne.

Czy ktoś mógłby mi podsunąć pomysł na rozwiązanie - najchętniej wskazówki do
jakiegoś artykułu który opisuje tego typu zapytania. Trochę szukałem
wskazówek, ale znalezione odpowiedzi raczej nie były tymi które by choćby
naprowadziły mnie na odpowiednie rozwiązanie :(

Pozdrawiam,
--
Jacek Osiecki joshua@ceti.pl GG:3828944
"To nie logika, to polityka"
(c) Kabaret pod Wydrwigroszem 2006





Grzegorz Danowski - 03-07-2007 00:04
=?iso-8859-2?Q?Re:_mssql_-_czy_takie_query_jest_mo=BFliwe=3F?=
  "Jacek Osiecki" <joshua@ceti.pl> wrote in message
news:slrnf8d8vo.1i3.joshua@router.sc...
> SQLem posługuję się od dość dawna, ale nie jest to raczej zbyt
> zaawansowana
> znajomość języka :)
....
> Chciałbym teraz uzyskać z tego tabelę, która w danym wierszu ma datę i
> listę
> wszystkich kursów, czyli np:
>
> data | kurs_eur | kurs_usd | kurs_gbp | kurs_nok ...
>
> itd, zależnie od tego ile walut jest wymienionych w tabeli waluty.

Zależy która wersja serwera. Jeśli 2005, to możesz użyć Pivot, jeśli
starsze, to musisz trochę pokombinować, np.
http://jdixon.dotnetdevelopersjourna...0_and_2005.htm
A jeśli chcesz, by kolumny były dynamiczne, to powyższy sql musisz budować
także dynamicznie.
--
Pozdrawiam
Grzegorz




szaman - 03-07-2007 00:04

  Jacek Osiecki pisze:
> Witam,
>
> SQLem posługuję się od dość dawna, ale nie jest to raczej zbyt zaawansowana
> znajomość języka :)
>
> Pojawił mi się następujący problem: mam tabelę, w której są notowania kursów
> walut - jeden wiersz na komplet data+kolumna:
>
> id_waluty | data | kurs
>
> Gdzieś obok jest tabela waluty:
>
> id | symbol
>
> Chciałbym teraz uzyskać z tego tabelę, która w danym wierszu ma datę i listę
> wszystkich kursów, czyli np:
>
> data | kurs_eur | kurs_usd | kurs_gbp | kurs_nok ...
>

Kilka dni temu były opisane dwa rozwiązania tego przypadku - czyli Self
join oraz max(decode(...

Wątek dotyczył jak zamienić wiersze na kolumny.

Już nie pamiętam jak to w MSSQL było ale chyba da się w nim zrobić bez
problemu zapytanie typu "tabela przestawna" co chyba jest najprostszym
rozwiązaniem (a od MSSQL2005 chyba PIVOT to już zupełnie nie sprawia
problemów)
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO Czy zna (obsługuje) ktoś program Iso Draw ? MYSQL - kodowanie w ISO-PL strona plus baza w iso do utf-8 Kodowanie: z iso na utf MSSQL Express czy Oracle Express Pobierananie danych z innej bazy danych w MSSQL Migracja MSSQL 2005 CTP na 2005 Express MSSQL , funkcja pobierajaca sama date (bez czasu) w funkcji [mssql] insert do tabeli na podstawie danych z innej tabeli
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • adwokat.keep.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