[MSSQL] Zlaczenie 2 tabel + licznik

0

Hej mam 2 tabele, pomiedzy ktorymi jest relacja jeden do wielu, dokladniej wygladaja tak:

Modele:
IdModel PK
Nazwa 

Pojazdy:
IdPojazdu PK
IdModel FK
NrRejestracyjny

Np.: wypelnimy tabelki tak:

Modele:
IdModel  |  Nazwa
   1             207
Pojazdy:
IdPojazdu |  IdModel | NrRejestracyjny
     1              1            ble
     2              1            bleble

Teraz chodzi o to jak wyswietlic nazwe modelu i ilosc pojazdow jaka posiada?
Wynik powinien byc taki: 207, 2 sztuki
Wiem jak to wykonca jesli mam tylko jeden model to wtedy wezme jego ID i po prostu sobie policze:

Select m.Nazwa, COUNT(p.IdModel) AS 'Ilosc'
FROM modele m, pojazdy p
Where m.IdModel = 1 AND p.IdModel =1
GROUP BY m.Nazwa

ale jak to zrobic jesli mam np: 20modeli i ze 100 pojazdow i chce wyswietlic wszystkie modele z ich iloscia??

0

zmień trzecią linię na:
Where m.IdModel = p.IdModel

0

Wczoraj bylo tak:
teraz jak stworze np: jeszcze jeden model C5 i 6 pojazdow, to wyswietli to tak:

207 8sztuk
C5 8 sztuk

po prostu count policzy ile jest wierszy:/

DZIS:
EDIT: NIE NO LOOOOOL wlaczam lapciaka wpisalem tak jak wczoraj i dzis to dziala:||||| czemu??
czy istnieje mozliwosc taka, ze wczoraj zmienialem ustawienia serwera i go nie resetlem i cos sie zepsulo? bo dosc dziwne to.

CZYLI TAK JAK podales dziala i przy uzyciu JOIN tez

pozdrawiam.

0
Select m.Nazwa, COUNT(p.IdModel) AS 'Ilosc'
FROM modele m, pojazdy p
Where m.IdModel =  p.IdModel
GROUP BY m.Nazwa

na pewno zwróci:

207 2 sztuki
C5 6 sztuk

jeśli nie to zamień pierwszą linię na:
Select m.Nazwa, COUNT(p.IdPojazdu) AS 'Ilosc'

0

no dziala dziala:) tylko dlaczego wczoraj nie dzialao a dzis dziala??
chyba z edytowalem wtedy kiedy ty odpowiedziales;] jak mozesz zerknij na EDIT z poprzedniej mojej odpowiedzi

pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1