2016-06-28 88 views
0

我有兩個表,我試圖做一個聯合或聯合從第二個表中引出一列。如何加入我的兩張桌子?

SELECT Services,Metric_Type,services_be,Services_Be_L2,Services_Be 
FROM table1 
JOIN table2 
ON table1.SERVICES_BE = table2.SERVICES_BE 

Metric_Type是所有我需要table2

潛在加盟

表1

Services_Be, 
SALES_NODE_LEVEL1, 
Fiscal QT, 
Fiscal YR, 

表2

Services_Be, 
Sales_L1 = SALES_NODE_LEVEL1, 
Fiscal QT, 
Fiscal YR 
+0

您當前的查詢有什麼問題嗎?結果是什麼,以及它們與你的期望有什麼不同? – mustaccio

+0

列表Services和Metric_Type不存在於這兩個表中。這些列在哪裏? – scaisEdge

+0

由於某種原因,當前查詢未運行Mustaccio和Scais Edge Metric_Type僅存在於第二個表中 – user2414973

回答

0
SELECT Services,Metric_Type,services_be,Services_Be_L2,Services_Be 
FROM table1 
JOIN table2 
ON table1.SERVICES_BE = table2.SERVICES_BE 

看起來像一個有效的連接,這將允許您並排使用兩個表中的列。有一件事,你可能要使用的表的別名,使其更容易引用表,然後具體確定你的列是在選擇列表中的東西如表:如果你想APPEND

SELECT t1.Services,t1.Metric_Type,t1.services_be,t2.Services_Be_L2,t2.Services_Be 
    FROM table1 t1 
    JOIN table2 t2 
    ON t1.SERVICES_BE = t2.SERVICES_BE 

從一個表記錄到另一個你將要使用UNIONUNION ALL

SELECT 
    Services_Be, 
    SALES_NODE_LEVEL1, 
    Fiscal QT, 
    Fiscal YR 
FROM 
    Table11 

UNION ALL 

SELECT 
    Services_Be, 
    SALES_NODE_LEVEL1, 
    Fiscal QT, 
    Fiscal YR 
FROM 
    Table12 

追加時,將列定義和數據類型必須是頂級表和底部之間的相同。 UNION ALL將追加Table2的每個記錄,而UNION將只附加Table1(類似DISTINCT的整數)中不存在的記錄。

+0

即使當我將NULL值作爲虛擬列插入時,並且在進行連接時(無論連接的類型如何),聯合也不起作用我正在執行Metric_type和其他所有操作,或者metric_type的所有操作都爲空。 – user2414973

+0

你想追加數據嗎?你只使用Union或UNION ALL。如果UNION您可能需要處理空值的多少次,那麼您不認爲它們可能是空值。您是否收到特定錯誤,您是否可以編輯問題併發布您嘗試的代碼,以便我們直接查看它以提供反饋? – Matt

0

我想這是一個含糊不清的定義錯誤。 在select語句中,列出屬於這兩個表的字段SERVICES_BE,並且SQL解析器不知道您的意思。 嘗試使用表別名。

SELECT t1.Services,t2.Metric_Type,t1.services_be,t1.Services_Be_L2,t1.Services_Be 
    FROM table1 t1 
Inner JOIN table2 t2 ON t1.SERVICES_BE = t2.SERVICES_BE