我有一個維度表加入對其他一切價值,如果沒有在表
@dimensions
Dateid Rep Mkt Prodgroup
201111 002 S 001
201111 002 R 001
201111 002 S 002
201111 002 R 002
201111 002 S 003
201111 002 R 003
201111 002 S 004
201111 002 R 004
...
我想這個表加入到包括百分比。
@percentageincrease
Prodgroup Mkt Percent
ALL S 1.05
ALL R 1.06
002 S 1.07
002 R 1.08
003 S 1.09
003 R 1.10
我想加入他們的Mkt
和Prodgroup
其中@dimensions.Prodgroup IN @percentageincrease.Prodgroup
如果not in
然後加入上的所有。所以輸出表將
Dateid Rep Mkt Prodgroup Percent
201111 002 S 001 1.05 // joined on ALL
201111 002 R 001 1.06 // joined on ALL
201111 002 S 002 1.07 // joined on 002
201111 002 R 002 1.08 // joined on 002
201111 002 S 003 1.09 // joined on 003
201111 002 R 003 1.10 // joined on 003
201111 002 S 004 1.05 // joined on ALL
201111 002 R 004 1.06 // joined on ALL
...
正如我加盟條件我都試過
on case p.Prodgroup
when N'ALL'
then d.prodgrpid
else p.Prodgrpid = d.prodgrpid
AND p.Mkt = d.Mkt
,但它給了我
Dateid Rep Mkt Prodgroup Percent
201111 002 S 001 1.05
201111 002 R 001 1.06
201111 002 S 002 1.07
201111 002 R 002 1.08
201111 002 S 002 1.05 //Joined on ALL
201111 002 R 002 1.06 //Joined on ALL
201111 002 S 003 1.09
201111 002 R 003 1.10
201111 002 S 003 1.05 //Joined on ALL
201111 002 R 003 1.06 //Joined on ALL
201111 002 S 004 1.05
201111 002 R 004 1.06
...
凡分別在@percentageincrease表中的元組也加入全部條件。
這是作爲一個更大的查詢的一部分在SQL Server 2008上作爲存儲過程運行。
作出修改[這](http://sqlfiddle.com/#! 6/7aa65/1) –
@JohnWoo eh ????? – podiluska
我在sqlfiddle中測試了您的查詢並查看結果。順便說一下http://sqlfiddle.com/#!6/7aa65/1不要忘記轉換'Prodgroup'的數據類型 –