2014-12-02 71 views
0

我是SQL新手,想要使用內部連接比較兩個表,然後使用結果與第三個表等進行比較。此外,第三個表格與前兩個表格不同。SQL內部加入來比較結果

下面是用於比較兩個表的SQL語句。

SELECT WORKLOAD_ITEM_ID wid 
FROM OUTPUT o 
INNER JOIN workload_item wi ON O.WORKLOAD_ITEM_ID = wi.WORKLOAD_ITEM_ID 

現在返回任何我想使用和做與不具有列WORKLOAD_ITEM_ID第三個表內連接。所以問題是如何保存和比較結果?

請幫忙!

+0

第三個表不必共享同一列_name_,它只需要一些列與其他兩個表中的一個具有共同的值(或甚至是從表達式推導的值)。連接不是關於列名的,而是關於在表之間創建「真實」表達式的。 – 2014-12-02 18:28:48

+0

那麼第三張桌子與前兩張的關係是什麼呢?你會如何使用前兩個限制第三個?這就是加入關係。 – 2014-12-02 18:29:06

回答

0

您可以按照在臨時表來保存記錄

INSERT INTO #WORKLOAD_ITEM_TEMP 
SELECT WORKLOAD_ITEM_ID wid 
FROM OUTPUT o 
INNER JOIN workload_item wi ON O.WORKLOAD_ITEM_ID = wi.WORKLOAD_ITEM_ID 

然後用你的第三個表,利用上述#WORKLOAD_ITEM_TEMP表的連接。 現在你必須決定哪一列需要放入內部連接。在輸出結果集和第三個表之間添加一個公共列,或者只使用交叉連接。

我認爲你需要重新評估你的數據庫結構並建立高效的表關係。