根据mssql中的结果,组合查询从不同的表中获取外键值


Combine queries to grab foreign key value from different able based on result in mssql

我必须使用一个我无法控制的mssql数据库,所以很遗憾,我根本无法更改结构。该数据库被设置为具有两个表EntryArea。在Area表中,有一列sArea,我需要根据值ixEntry查找它。在Entry表中,我可以查找(变量是PHP变量):

SELECT sTitle,ixCategory,ixArea FROM Entry WHERE ixEntry='$ixEntry'

然后进行第二次查询

SELECT sArea FROM Area WHERE ixArea='{$return['ixArea']}'

这很好,除了网络的设置方式,两个查询的开销时间要多得多。

我如何将这两个查询组合起来,以便得到与SELECT sTitle,ixCategory,sArea FROM Entry WHERE ixEntry='$ixEntry'等效的结果,就好像sArea在Entry表中,而不是在ixArea中一样?

  SELECT a.sArea FROM Entry e
        INNER JOIN Area a ON e.ixArea = a.ixArea
            WHERE e.ixEntry='$ixEntry'