0

我有 3 个表关系,称为 tblCluster、tblServer 和 tblDatabase。服务器在集群下,数据库在服务器下。tblCluster 中的 PK 是 ClusterName。tblServer 中的 Pk 是 ServerName,FK 是 ClusterName。tblDatabase 中的 PK 是 DatabaseName,FK 是 Servername。如果我想查看 ClusterName 下/来自 ClusterName 的所有 ServerName 和 DatabaseName 是 Cluster5。我应该像这样写查询吗

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 为空的结果表。

4

1 回答 1

2

您是否尝试过使用LEFT JOIN而不是INNER JOIN- 这通常是此类要求的解决方案。在此处查看包含一些示例的更详细说明。

于 2012-11-18T23:38:27.457 回答