2014-10-28 25 views
1

我必須使用我無法控制的mssql數據庫,所以很遺憾,我根本無法更改結構。此數據庫的設置,以便有2個表EntryArea。在Area表中,有一列sArea,我需要根據值ixEntry查找。在Entry表,我可以做一個查找(變量是PHP變量):根據mssql中的結果合併查詢以獲取不同的外鍵值

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?

回答

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

謝謝,作品像一個魅力。 – TheBat 2014-10-28 15:43:58

+0

雖然我不得不改變選擇包括我想要的其他領域。 – TheBat 2014-10-28 15:54:53