2015-11-19 107 views
-1

我有兩條select語句,我想要在MS SQL上連接,並且在JOIN和ON之前語法錯誤失敗。我哪裏做錯了 ?Microsoft SQL服務器上的SQL內部連接

SELECT Id, COUNT(Item) AS Count FROM DB_1.dbo.table w 
GROUP BY Id, Item 
JOIN 
(

SELECT Id, Path, Name FROM DB2.dbo.partition p 
GROUP BY Id, Path, Name 
) 
ON w.Id = p.Id 
+1

你有你的小組在錯誤的地方。將其移動到最後。 –

+0

目前尚不清楚你想要完成什麼......你是否想從分區表中選擇路徑/名稱?或者你是否試圖將它用作存在過濾器?你的源數據是什麼樣的?你想要輸出看起來像什麼? – JiggsJedi

+0

@JiggsJedi - 我有一個Id,這兩個表是共同的,第一個查詢獲取分區ID,第二個提供該分區的路徑。 DenimChicken的回答給了我想要的結果。謝謝 ! – user1669468

回答

1

您需要加入第一個和第二個查詢的結果。您還需要在子查詢外包含別名(wp)。試試這個:

SELECT * FROM (
    SELECT Id, COUNT(Item) AS Count FROM DB_1.dbo.table 
    GROUP BY Id, Item) w 
JOIN (
    SELECT Id, Path, Name FROM DB2.dbo.partition 
    GROUP BY Id, Path, Name 
) p 
ON w.Id = p.Id 
+0

哇DenimChicken,你是最棒的!花了很多時間試圖自己來弄清楚,但是我的SQL技能還不夠好。非常感謝! – user1669468