我有3个表关系,分别称为tblCluster,tblServer和tblDatabase。服务器在群集下,数据库在服务器下。 tblCluster中的PK为ClusterName。 tblServer中的Pk是ServerName,FK是ClusterName。 tblDatabase中的PK是DatabaseName,而FK是Servername。如果我想查看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;


如果找到服务器名,即使数据库为空,我仍然希望它显示datbasename null的结果表。

最佳答案

您是否尝试过使用LEFT JOIN代替INNER JOIN-这通常是满足此类要求的解决方案。 Look here获得包含一些示例的更详细的说明。

08-07 06:30