Wiele zapytań w jednym.
Mariusz S. - 23-10-2005 18:54
Wiele zapytań w jednym.
Witam, Czy można wyświetlić wszystkich klientów i ilość ich zamówień w jednym zapytaniu. Jeżeli tak to jak to zrobić?
Przykład: | Kowalski | 20 | | Nowak | 5 |
select * from klienci;
select count(id_zamowienia) from zamowienia where id_klienta = "z innego zapytania";
-- Pozdrawiam Mariusz
Jerzy Hołda | maszyna.pl - 23-10-2005 18:54
Mariusz S. napisał(a): > Witam, > Czy można wyświetlić wszystkich klientów i ilość ich zamówień w jednym > zapytaniu. Jeżeli tak to jak to zrobić?
Poczytaj o GROUP BY.
Pozdrawiam Jerzy H -- Jerzy Hołda | maszyna.pl e-mail: jerz [ ] maszyna.pl | url: http://maszyna.pl cell: +48 / 601-334-859 | gg: 900600 | jabber: jerz [ ] maszyna.pl
Jester - 23-10-2005 18:54
Mariusz S. napisał(a):
> Witam, > Czy można wyświetlić wszystkich klientów i ilość ich zamówień w jednym > zapytaniu. Jeżeli tak to jak to zrobić? > > Przykład: > | Kowalski | 20 | > | Nowak | 5 | > > select * from klienci; > > select count(id_zamowienia) from zamowienia where id_klienta = "z > innego zapytania"; > > -- > Pozdrawiam > Mariusz
select k.nazwa, count(z.id_zamowienia) from klienci k left join zamowienia z on k.id_klienta = z.id_klienta group by k.nazwa;
Oczywiście z uwzględnieniem takich nazwa kolumn jakie masz tam w bazie.
-- Pozdrawiam Jester
Mariusz S. - 23-10-2005 18:54
Jester napisał(a): > Mariusz S. napisał(a): > >> Witam, >> Czy można wyświetlić wszystkich klientów i ilość ich zamówień w jednym >> zapytaniu. Jeżeli tak to jak to zrobić? >> >> Przykład: >> | Kowalski | 20 | >> | Nowak | 5 | >> >> select * from klienci; >> >> select count(id_zamowienia) from zamowienia where id_klienta = "z >> innego zapytania"; >> >> -- >> Pozdrawiam >> Mariusz > > > select k.nazwa, count(z.id_zamowienia) from klienci k left join > zamowienia z > on k.id_klienta = z.id_klienta > group by k.nazwa; > > Oczywiście z uwzględnieniem takich nazwa kolumn jakie masz tam w bazie. > Wielkie dzięki o to właśnie chodziło.
Mariusz S. - 23-10-2005 18:54
Jester napisał(a): > Mariusz S. napisał(a): > >> Witam, >> Czy można wyświetlić wszystkich klientów i ilość ich zamówień w jednym >> zapytaniu. Jeżeli tak to jak to zrobić? >> >> Przykład: >> | Kowalski | 20 | >> | Nowak | 5 | >> >> select * from klienci; >> >> select count(id_zamowienia) from zamowienia where id_klienta = "z >> innego zapytania"; >> >> -- >> Pozdrawiam >> Mariusz > > > select k.nazwa, count(z.id_zamowienia) from klienci k left join > zamowienia z > on k.id_klienta = z.id_klienta > group by k.nazwa; > > Oczywiście z uwzględnieniem takich nazwa kolumn jakie masz tam w bazie. > A można posortować według count(z.id_zamowienia)?
d'plus - 23-10-2005 18:54
Mariusz S. napisał(a): > Jester napisał(a): > >> Mariusz S. napisał(a): >> >>> Witam, >>> Czy można wyświetlić wszystkich klientów i ilość ich zamówień w >>> jednym zapytaniu. Jeżeli tak to jak to zrobić? >>> >>> Przykład: >>> | Kowalski | 20 | >>> | Nowak | 5 | >>> >>> select * from klienci; >>> >>> select count(id_zamowienia) from zamowienia where id_klienta = "z >>> innego zapytania"; >>> >>> -- >>> Pozdrawiam >>> Mariusz >> >> >> >> select k.nazwa, count(z.id_zamowienia) from klienci k left join >> zamowienia z >> on k.id_klienta = z.id_klienta >> group by k.nazwa; >> >> Oczywiście z uwzględnieniem takich nazwa kolumn jakie masz tam w bazie. >> > A można posortować według count(z.id_zamowienia)?
na końcu ORDER BY z.id_zamowienia (DESC/ASC - malejąco, rosnąco -defaultowo jest DESC. Polecam jak zwykle manual :] )
Jester - 23-10-2005 18:54
Użytkownik "d'plus" <dplusUSUN_TO@tlen.pl> napisał w wiadomości news:dja322$ia3$1@atlantis.news.tpi.pl... > Mariusz S. napisał(a): >> Jester napisał(a): >> >>> Mariusz S. napisał(a): >>> >>>> Witam, >>>> Czy można wyświetlić wszystkich klientów i ilość ich zamówień w jednym >>>> zapytaniu. Jeżeli tak to jak to zrobić? >>>> >>>> Przykład: >>>> | Kowalski | 20 | >>>> | Nowak | 5 | >>>> >>>> select * from klienci; >>>> >>>> select count(id_zamowienia) from zamowienia where id_klienta = "z >>>> innego zapytania"; >>>> >>>> -- >>>> Pozdrawiam >>>> Mariusz >>> >>> >>> >>> select k.nazwa, count(z.id_zamowienia) from klienci k left join >>> zamowienia z >>> on k.id_klienta = z.id_klienta >>> group by k.nazwa; >>> >>> Oczywiście z uwzględnieniem takich nazwa kolumn jakie masz tam w bazie. >>> >> A można posortować według count(z.id_zamowienia)? > > na końcu ORDER BY z.id_zamowienia (DESC/ASC - malejąco, > rosnąco -defaultowo jest DESC. Polecam jak zwykle manual :] )
No tak chyba nie zadziala.
Najlepiej uzyj na koncu:
order by 2
Dwojka odnosi sie do wartosci drugiej kolumny wybieranej selectem - u nas count(z.id_zamowienia).
Mozna by tez order by count(z.id_zamowienia) ale nie kazdy serwer to kupi (np. Interbase nie a juz w Firebirdzie ruszy).
Pozdrawiam
Jester
Mariusz S. - 23-10-2005 18:54
Jester napisał(a): > Użytkownik "d'plus" <dplusUSUN_TO@tlen.pl> napisał w wiadomości > news:dja322$ia3$1@atlantis.news.tpi.pl... > >>Mariusz S. napisał(a): >> >>>Jester napisał(a): >>> >>> >>>>Mariusz S. napisał(a): >>>> >>>> >>>>>Witam, >>>>>Czy można wyświetlić wszystkich klientów i ilość ich zamówień w jednym >>>>>zapytaniu. Jeżeli tak to jak to zrobić? >>>>> >>>>>Przykład: >>>>>| Kowalski | 20 | >>>>>| Nowak | 5 | >>>>> >>>>>select * from klienci; >>>>> >>>>>select count(id_zamowienia) from zamowienia where id_klienta = "z >>>>>innego zapytania"; >>>>> >>>>>-- >>>>>Pozdrawiam >>>>>Mariusz >>>> >>>> >>>> >>>>select k.nazwa, count(z.id_zamowienia) from klienci k left join >>>>zamowienia z >>>>on k.id_klienta = z.id_klienta >>>>group by k.nazwa; >>>> >>>>Oczywiście z uwzględnieniem takich nazwa kolumn jakie masz tam w bazie. >>>> >>> >>>A można posortować według count(z.id_zamowienia)? >> >>na końcu ORDER BY z.id_zamowienia (DESC/ASC - malejąco, >>rosnąco -defaultowo jest DESC. Polecam jak zwykle manual :] ) > > > No tak chyba nie zadziala. > > Najlepiej uzyj na koncu: > > order by 2 > > Dwojka odnosi sie do wartosci drugiej kolumny wybieranej selectem - u nas > count(z.id_zamowienia). > > Mozna by tez order by count(z.id_zamowienia) ale nie kazdy serwer to kupi > (np. Interbase nie a juz w Firebirdzie ruszy). > > > > Pozdrawiam > > Jester > > Wielkie dzięki za pomoc. -- Pozdrawiam Mariusz
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?=
[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
zanotowane.pldoc.pisz.plpdf.pisz.plred-hacjenda.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 |
|