ďťż
 
Jakie zapytanie aby uzyskać brakujące rekordy? ďťż
 
Jakie zapytanie aby uzyskać brakujące rekordy?
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

Jakie zapytanie aby uzyskać brakujące rekordy?



xpan - 13-09-2006 02:07
Jakie zapytanie aby uzyskać brakujące rekordy?
  Witam,
Zastanawiam się jak uzyskać kwerendę która wyświetlając zawartość tabeli
wyświetli mi rekordy z brakującymi miesiącami.

Przykład
Jest tabela o nazwie TABELA z kolumnami i zawartością
ROK MIESIAC NAZWA ILOSC
2005 1 X 100
2005 2 X 110
2005 3 X 120
2005 1 Y 9
2005 2 Y 11
i teraz ja chce utworzyć kwerendę która mi zwróci
2005 1 X 100
2005 2 X 110
2005 3 X 120
2005 4 X 0
2005 5 X 0
2005 6 X 0
2005 7 X 0
2005 8 X 0
2005 9 X 0
2005 10 X 0
2005 11 X 0
2005 12 X 0
2005 1 Y 9
2005 2 Y 11
2005 3 Y 0
2005 4 Y 0
2005 5 Y 0
2005 6 Y 0
2005 7 Y 0
2005 8 Y 0
2005 9 Y 0
2005 10 Y 0
2005 11 Y 0
2005 12 Y 0

Z góry dzięki za wskazówki.

--
xpan

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





Michał Kuratczyk - 13-09-2006 02:07

  xpan wrote:
> Zastanawiam się jak uzyskać kwerendę która wyświetlając zawartość tabeli
> wyświetli mi rekordy z brakującymi miesiącami.

Nie napisałeś jaka baza, więc zrobiłem na swojej (Oracle) - jeśli używasz
innej, to i tak powinno Cię to nakierować na rozwiązanie. Pewnie można
prościej, ale tak mi przyszło do głowy na szybko:

Dane:

SQL> select * from tabela;

ROK MIESIAC NAZWA ILOSC
---------- ---------- ------------ ----------
2005 1 X 100
2005 2 X 110
2005 3 X 120
2005 1 Y 9
2005 2 Y 11

Wynik:

SQL> with lata as (select distinct rok from tabela),
2 miesiace as (select rownum miesiac from all_objects where rownum <=
12),
3 nazwy as (select distinct nazwa from tabela)
4 select x.rok, x.miesiac, x.nazwa, nvl(t.ilosc, 0) ilosc
5 from (select * from lata, miesiace, nazwy) x
6 left outer join tabela t on x.rok=t.rok and x.miesiac=t.miesiac and
x.nazwa = t.nazwa
7 order by x.nazwa, x.rok, x.miesiac;

ROK MIESIAC NAZWA ILOSC
---------- ---------- ------------ ----------
2005 1 X 100
2005 2 X 110
2005 3 X 120
2005 4 X 0
2005 5 X 0
2005 6 X 0
2005 7 X 0
2005 8 X 0
2005 9 X 0
2005 10 X 0
2005 11 X 0
2005 12 X 0
2005 1 Y 9
2005 2 Y 11
2005 3 Y 0
2005 4 Y 0
2005 5 Y 0
2005 6 Y 0
2005 7 Y 0
2005 8 Y 0
2005 9 Y 0
2005 10 Y 0
2005 11 Y 0
2005 12 Y 0

24 rows selected.

--
Michał Kuratczyk
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= =?ISO-8859-2?Q?Narz=EAdzie_do_budowania_zapyta=F1_SQL=2C?==?I SO-8859-2?Q?_PL/PgSQL=2C_PL/SQL=2C_T-SQL?= phpMyAdmin zadaje =?ISO-8859-2?Q?z=B3e_zapytania=2E=2E=2E_Dl?==?ISO-8859-2?Q?aczego=3F?= [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= [mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?= [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [MySQL] Zapytanie z =?ISO-8859-2?Q?dw=F3ch_tabel_na_raz_?==?ISO-8859-2?Q?i_grupowanie_po_wsp=F3lnym_polu=2E_Jak_=3F?= mecze sie i mecze i nic - zapytanie czesciowe [sql][pgsql] zapytanie sql zapytanie do =?ISO-8859-2?Q?dw=F3ch_tabel_z_limitem_wier?==?ISO-8859-2?Q?szy?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • czterowers.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