为了得到正确的结果,我需要将一些问题缠绕在我需要正确连接的查询上。
基本上我有一个带有污水管网的数据库,网络上有带ID的管道和带ID的管道,所有管道都用一个UpstreamManholeID(OpstroemKnudeID)和一个DownstreamManholeID(NedstroemKnudeID)(Knude table = manhole)定义。
当我尝试根据管道中的观察结果进行查询时,我会继续为具有不同上游和下游ID的管道列出相同的PipeID。如下图所示,可能是因为它仅在选择管道ID之前检查上游检修孔ID。
我尝试更改查询,但这会返回PipeID中的空白。
总而言之,我需要根据上游和下游节点列出PipeID,因为它是,我只能检查上游或下游。 我很难解释,所以请随时提出您需要的任何澄清问题。
目前我正在运行两个查询,一个调用另一个查询,以获得几乎正确的结果。
SELECT TVInspektion.Startpunktnr AS OpstrømsKnudenavn, TVInspektion.Slutpunktnr AS NedstrømsKnudenavn, Knude.ID AS OP, Knude_1.ID AS Ned
FROM (TVInspektion LEFT JOIN Knude ON TVInspektion.Startpunktnr = Knude.Knudenavn) LEFT JOIN Knude AS Knude_1 ON TVInspektion.Slutpunktnr = Knude_1.Knudenavn;
SELECT [Copy Of Vurderes].OP, [Copy Of Vurderes].OpstrømsKnudenavn, [Copy Of Vurderes].Ned, [Copy Of Vurderes].NedstrømsKnudenavn, Ledning.ID
FROM [Copy Of Vurderes] LEFT JOIN Ledning ON ([Copy Of Vurderes].Ned = Ledning.NedstroemKnudeID) AND ([Copy Of Vurderes].OP = Ledning.OpstroemKnudeID);
返回以下结果: