2016-06-07 15 views
0

Ich habe drei Tabellen Installation, Büros, Niederlassungen.Mehrere SQL-Tabelle Join-

Installation - 
ID | Date | Status | Reference_by 

Offices - 
Installation ID | Branch ID 

Branches - 
Branch ID | Branch Name 

Ich möchte eine Tabelle anzuzeigen

Branch Name| Successful Installation(i.e status=installed) 

zeigt, in dem Zweignamen Spalte alle die Liste der Filialen und der erfolgreichen Installation zeigt zeigt entsprechende bracnches Installation K ..

Antwort

0

Diese Abfrage:

select B.BranchName, count(I.Status) as 'Successful Installation' 
from Branches B inner join Offices O on B.BranchId = O.BranchId 
inner join Installation I on O.InstallationId = I.Id 
where I.Status = 'installed' --(use this clause for a particular condition on Status) 
group by B.BrId, B.BranchName 

Wahrscheinlich eine gute Idee, auf SQL Joins zu lesen d Gruppierung (http://www.w3schools.com/sql/sql_join.asp), wenn Sie mit der Entwicklung in SQL fortfahren möchten.

0

Entfernen Sie zuerst Leerraum vom Spaltennamen. Struktur ändern mit, Installation - ID | Datum | Status | Reference_by Büros - I_ID | B_ID Verzweigungen - B_ID |

B_Name

Jetzt können Sie diese Abfrage verwenden

select b.B_Name,count(i.Status) from Installation i 
join Offices o on i.I_Id = o.I_ID 
join Branches b on b.B_ID=o.B_ID 
where i.Status ='installed' group by b.B_Name;