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 № 1Sie 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