2015-05-13 36 views
4

假設發現了不同的產品,我有我的數據集以下組合:MSSQL - 選擇了在兩列

**ProductA**   **ProductB** 
    Apple     Banana 
    Apple     Orange 
    Apple     Pear 
    Banana     Orange 
    Banana     Pear 
    Orange     Pear 

我怎麼會在一列中返回的獨特產品的完整列表?下面所需的輸出:

**Products** 
Apple 
Banana 
Orange 
Pear 

如果我選擇不重複的,我顯然不會讓梨,因爲它不是在列產品A包括在內。

任何幫助,將不勝感激。謝謝!

+0

這是一個家庭作業的問題? – Pradheep

+0

哈 - 不,這不是功課。我沉迷於產品名稱,使其易於遵循。 – user1765523

+0

從productA選擇水果UNION從productB選擇水果B – mohan111

回答

7

您可以UNION在一起作爲一個單一的列:

SELECT ProductA AS Products 
FROM tablename 
UNION 
SELECT ProductB 
FROM tablename; 
+2

我認爲你不需要DISTINCT,因爲UNION會爲你返回不同的值。 – BICube

+0

你真棒,謝謝! – user1765523

+0

是啊我同意@Ala簡單的聯合工作原理爲什麼要使用派生表和Distinct,如果你真的需要相同的輸出。通過使用Distinct和Derived表,然後更多的查找將在表上完成,查詢成本將增加..只是檢查與執行計劃 – mohan111