我已閱讀了大量關於合併表格的示例,但大多數人都有可連接的內容。我沒有任何數據可以加入,除非使用FULL JOIN,這會給我留下多個具有相同名稱的列,而在相應查詢中沒有數據的情況下爲NULL。將兩個表格的結果合併到一個統一的表格中,但不包含公共數據
CREATE TABLE #tmpBus
(
id varchar(50),
partnumber varchar(400),
attributecname nvarchar(255),
attributevalue nvarchar(1700),
assetfilename varchar(85),
orderby varchar(10)
)
CREATE TABLE #tmpBus1
(
id varchar(50),
name varchar(500),
url varchar(2550),
assetfilename varchar(850),
orderby varchar(10)
)
CREATE TABLE #tmpBus2
(
partnumber varchar(400),
attributecname varchar(255),
attributevale varchar(1700),
orderby varchar(10),
assetfilename varchar(850),
name varchar(500),
url varchar(2550)
)
INSERT INTO #tmpBus exec getSectionNewData 5665976;
INSERT INTO #tmpBus1 exec getSectionFeaturedData 5665976;
SELECT DISTINCT * FROM #tmpBus tb
FULL JOIN #tmpBus1 tb1
ON tb.partnumber=tb1.name
DROP TABLE #tmpBus
DROP TABLE #tmpBus1
DROP TABLE #tmpBus2
我的目標是獲得從2代臨時表我創建成一個統一的表(#tmpBus2)的數據(#tmpBus &#tmpBus1)。我嘗試了所有類型的連接,並通過我能想到的方法進行分組。以下是上述代碼輸出的屏幕截圖。注意NULL。我正試圖將#tmpBus2中的平坦表與每個表的相應值相關聯。因此,id,assetfilename和orderby字段將被統一,而不是2個單獨的列以及按order by列排序的功能。
任何幫助,讓我在朝着正確的方向將是超級有用。
你是從源表中的項目的每個組合後?如果是這樣,請進行交叉連接(不需要聲明)。 http://msdn.microsoft.com/en-us/library/ms190690(v=sql.105).aspx – JohnLBevan
是的,我已經嘗試了交叉連接,輸出和上面一樣。 –