2016-10-25 10 views
0

Zuerst entschuldigung, wenn mein Englisch nicht perfekt ist, da ich kein Englisch spreche. Ich habe eine Tabelle, die alle Leute in der Schule auflistet und in welchem ​​Raum sie sind. In der zweiten Tabelle hat die Raumnummer und wie viele Leute in jedem Raum. Wie kann ich eine Tabelle mit der Eoom-Nummer und der Anzahl der freien Plätze im Raum anzeigen? Ich benutze das Microsoft SQLServer Management Studio 2008. Danke für Ihre Hilfe!So verbinden Sie zwei Tabellen beim Subtrahieren in Sql

+1

** [EDIT] ** Ihre Frage ein und fügen Sie einige Datenprobe und die erwartete Ausgabe basierend auf diesen Daten. [_Formatted_] (http://stackoverflow.com/editing-help#code) ** Text ** bitte, [keine Screenshots] (http://meta.stackoverflow.com/questions/285551/why-may-i -nicht-upload-images-of-code-auf-so-wenn-eine-Frage-Anfrage/285557 # 285557) –

Antwort

0

die Struktur Ihrer Tabellen sehen wie folgt aus der Annahme:

Erste Tabelle:

StudentId | RoomNumber 

Zweite Tabelle:

RoomNumber | Count 

Dann

select t1.RoomNumber, t2.Count - count(t1.StudentId) 
from FirstTable t1 
inner join SecondTable t2 
on t1.RoomNumber = t2.RoomNumber 
group by t1.RoomNumber 
+0

Gruppierung von t1.RoomNumber und Zählen der gleichen Sache wird Ihnen immer 1 in der Zählung geben. Ersetzen durch 'count (t1.StudentId)' –

+0

Danke für den Hinweis. –

0

Tabellen:

Studenten StudentId | RoomId

Zimmer RoomId | NumberOfSeats

Select room.RoomId, room.NumberOfSeats - count(stu.StudentId) 
from Rooms room 
left join Students stu on room.RoomId = stu.RoomId 
group by room.RoomId 

Auf diese Weise können auch die Zimmer ohne Studenten bekommen

Fiddle: here

+0

Ok, es funktioniert! Danke für die Hilfe –

-1
select t1.StudentId, 
    t1.RoomNumber, 
    t1.StudentId-Count(t2.Count), 
    t2.RoomNumber, 
    t2.count 
from FirstTable as t1 
Right join SecondTable as t2 
on t1.RoomNumber = t2.RoomNumber 
group by t2.RoomNumber 
+0

nach Tabellen verwenden Aliases Word AS Beispiel Wählen Sie * Von Tabellenname Als –

Verwandte Themen