Zapytanie do kilku tabel jednoczesnie
moderato@o2.pl - 14-12-2006 16:08
Zapytanie do kilku tabel jednoczesnie
Witam! Mam problem ze zrobieniem takiego zapytania które b?dzie wyci?ga? dane z kilku tabel po dwóch parametrach numerze rejestracyjnym auta i po dacie zdarzenia. Przy czym przy sklejaniu tabel przez JOIN je?li s? puste pola dla danego numeru w której? z table to wychodzi kaszana. Oto moje zapytanie (na razie po samym numerze):
SELECT pojazdy.nr_rej, Sum(serwis.koszt) AS SumaOfkoszt, Sum(sklep.koszt) AS SumaOfkoszt1, serwis.data, k_pojazdu.oc FROM sklep INNER JOIN (serwis INNER JOIN (pojazdy INNER JOIN k_pojazdu ON pojazdy.id_pojazdu = k_pojazdu.id_pojazdu) ON serwis.nr_rej = pojazdy.nr_rej) ON sklep.nr_rej = pojazdy.nr_rej GROUP BY pojazdy.nr_rej, serwis.data, k_pojazdu.oc;
Mam kilka tabel kosztowych: serwis, sklep, wulkanizacja gdzie rekord wygl?da tak: data, nr_rej, koszt. Z pewnych wzgl?dów musz? te dane trzyma? w odzielnych tabelach. Teraz chcia?bym wyswietlic koszty danego auta w danym miesiacu. Ale jak to naapisa???
Jak napisa? zapytanie aby przy braku kosztów w której? tabeli liczy? 0 ???
Dzi?ki z góry za wszystkie podpowiedzi!!
Micha? ?.
Mwa - 14-12-2006 16:08
1. Zobacz LEFT JOIN 2. pocz punkt 1 a potem: IFNULL(kolumna, 0) chyba w mySQL niewiem jak w innych
Pozdrawiam Marcin
On Mon, 27 Nov 2006 09:25:17 +0100, <moderato@o2.pl> wrote:
> Witam! > Mam problem ze zrobieniem takiego zapytania które b?dzie wyci?ga? > dane z kilku tabel po dwóch parametrach numerze rejestracyjnym auta i > po dacie zdarzenia. Przy czym przy sklejaniu tabel przez JOIN je?li > s? puste pola dla danego numeru w której? z table to wychodzi > kaszana. Oto moje zapytanie (na razie po samym numerze): > > SELECT pojazdy.nr_rej, Sum(serwis.koszt) AS SumaOfkoszt, > Sum(sklep.koszt) AS SumaOfkoszt1, serwis.data, k_pojazdu.oc > FROM sklep INNER JOIN (serwis INNER JOIN (pojazdy INNER JOIN k_pojazdu > ON pojazdy.id_pojazdu = k_pojazdu.id_pojazdu) ON serwis.nr_rej = > pojazdy.nr_rej) ON sklep.nr_rej = pojazdy.nr_rej > GROUP BY pojazdy.nr_rej, serwis.data, k_pojazdu.oc; > > Mam kilka tabel kosztowych: serwis, sklep, wulkanizacja gdzie rekord > wygl?da tak: data, nr_rej, koszt. > Z pewnych wzgl?dów musz? te dane trzyma? w odzielnych tabelach. > Teraz chcia?bym wyswietlic koszty danego auta w danym miesiacu. Ale > jak to naapisa??? > > Jak napisa? zapytanie aby przy braku kosztów w której? tabeli > liczy? 0 ??? > > Dzi?ki z góry za wszystkie podpowiedzi!! > > Micha? ?. >
-- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
moderato@o2.pl - 14-12-2006 16:08
Mwa napisa?(a): > 1. Zobacz LEFT JOIN
Przy left join krzyczy ?e "nie obs?uguje wyra?enia ze sprze?eniami). Dodam ?e to Access i ?e proste zapytania z left join dzia?aj?.
> 2. pocz punkt 1 a potem: IFNULL(kolumna, 0) chyba w mySQL niewiem jak w > innych > > Pozdrawiam Marcin > > On Mon, 27 Nov 2006 09:25:17 +0100, <moderato@o2.pl> wrote: > > > Witam! > > Mam problem ze zrobieniem takiego zapytania które b?dzie wyci?ga? > > dane z kilku tabel po dwóch parametrach numerze rejestracyjnym auta i > > po dacie zdarzenia. Przy czym przy sklejaniu tabel przez JOIN je?li > > s? puste pola dla danego numeru w której? z table to wychodzi > > kaszana. Oto moje zapytanie (na razie po samym numerze): > > > > SELECT pojazdy.nr_rej, Sum(serwis.koszt) AS SumaOfkoszt, > > Sum(sklep.koszt) AS SumaOfkoszt1, serwis.data, k_pojazdu.oc > > FROM sklep INNER JOIN (serwis INNER JOIN (pojazdy INNER JOIN k_pojazdu > > ON pojazdy.id_pojazdu = k_pojazdu.id_pojazdu) ON serwis.nr_rej = > > pojazdy.nr_rej) ON sklep.nr_rej = pojazdy.nr_rej > > GROUP BY pojazdy.nr_rej, serwis.data, k_pojazdu.oc; > > > > Mam kilka tabel kosztowych: serwis, sklep, wulkanizacja gdzie rekord > > wygl?da tak: data, nr_rej, koszt. > > Z pewnych wzgl?dów musz? te dane trzyma? w odzielnych tabelach. > > Teraz chcia?bym wyswietlic koszty danego auta w danym miesiacu. Ale > > jak to naapisa??? > > > > Jak napisa? zapytanie aby przy braku kosztów w której? tabeli > > liczy? 0 ??? > > > > Dzi?ki z góry za wszystkie podpowiedzi!! > > > > Micha? ?. > > > > > > -- > Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
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?=
[ms sql] =?ISO-8859-2?Q?wy=B6wietlenie_pierwszych_5_rekord?==?ISO-8859-2?Q?=F3w_z_zapytania_=3F_odpowiednik_ROWNUM_w_o?== ?ISO-8859-2?Q?raclu_dla_MS_SQL=27a?=
phpMyAdmin zadaje =?ISO-8859-2?Q?z=B3e_zapytania=2E=2E=2E_Dl?==?ISO-8859-2?Q?aczego=3F?=
[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/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?=
mecze sie i mecze i nic - zapytanie czesciowe
[sql][pgsql] zapytanie sql
[MySQL]: Dodanie zliczania =?ISO-8859-2?Q?rekord=F3w_do_rozb?==?ISO-8859-2?Q?udowanego_zapytania?=
zanotowane.pldoc.pisz.plpdf.pisz.plmelooonka.opx.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 |
|