/ / wie man zählt, wenn man zwei Tabellen verbindet - sql-server

wie man zählt, wenn man zwei Tabellen verbindet - sql-server

Ich habe zwei Tische Erste Tabelle tblHostel es enthält drei Felder wie folgt HostelName, RoomId, Kapazität und Inhalt ist so

HostelName RoomId Kapazität
Vivakanand 1-1 2
Vivakanand 1-2 1
Vivakanand 1-3 3

Und zweite Tabelle ist tblStudent mit drei Feld UserId, RoomId, HostelName und Daten ist so

Hostname RoomId UserId
Vivakanand 1-1 101
Vivakanand 1-1 102
Vivakanand 1-3 103

Ich möchte diese beiden Tabellen so zusammenführen, dass ich die folgende Art von Ausgabe finde

HostelName RoomId Kapazitätsanzahl
Vivakanand 1-1 2 2
Vivakanand 1-3 3 1

Die Zählertabelle zählt room-id in tblStudent. Für einzelne Tabelle finde ich diese Ausgabe durch folgenden Befehl
select RoomId,HostelName,count(RoomId) from tblStudent group by Roomid,Hostel;

Aber wie ich diese beiden Tabellen zusammenfüge, um die gewünschte Ausgabe zu erzielen, verwende ich auch Join, aber das kann ich nicht erreichen.

Antworten:

0 für die Antwort № 1

Sie müssen zuerst die Tabellen anhand des Hostelnamens und der Zimmer-ID verknüpfen und dann verwenden COUNT Funktion, um die Anzahl der Studenten pro Zimmer zu erhalten, so:

select h.hostelname, h.roomid, h.capacity, count(s.userid) Count
from tblhostel h
inner join tblstudent s on h.hostelname = s.hostelname
and h.roomid = s.roomid
group by h.hostelname, h.roomid, h.capacity