2012-11-18 43 views
0

我有3個表關係稱爲tblCluster,tblServer和tblDatabase。服務器在羣集下,數據庫在服務器下。 tblCluster中的PK是ClusterName。 tblServer中的Pk是ServerName,FK是ClusterName。 tblDatabase中的PK是DatabaseName,FK是Servername。如果我想要看到ClusterName下的所有ServerName和DatabaseName是Cluster5。我應該寫查詢像不確定與SQL選擇查詢

SELECT tblCluster.ClusterName, tblServerName.ServerName, tblDatabase.DatabaseName 
FROM tblCluster 
JOIN tblServer 
ON tblCluster.ClusterName = tblServer.ClusterName 
INNER JOIN tblDatabase 
ON tblServer.ServerName = tblDatabase.ServerName 
WHERE tblCluster.ClusterName = Cluster5; 

如果ServerName是發現即使數據庫是空的我還是希望它顯示與datbasename空結果表。

回答

2

您是否嘗試過使用LEFT JOIN而不是INNER JOIN--這通常是針對此類需求的解決方案。 Look here以獲取更詳細的說明,其中包含一些示例。

+0

謝謝,這是我認爲它應該是左加入。 – StudentIT

+0

很高興爲你解決;)。 –