[SQL ] CTE撈出來的table 能和if一起用嗎?

看板Database作者 (4545454554)時間11年前 (2014/08/11 09:09), 編輯推噓3(305)
留言8則, 2人參與, 最新討論串1/1
資料庫名稱:MS SQL SERVER 資料庫版本:2008 各位好 如下語法 是可以正常執行的 if (select top 1 name from NTable ) ='Alice' select 'A' 'A' else select 'B' 'B' 但如果改成下面這樣 執行就會有錯誤 with Newtable as(select * from Ntable) if (select top 1 name from Newtable ) ='Alice' select 'A' 'A' else select 'B' 'B' 想請問 是因為CTE不能和if共用嗎? 還是語法上哪裡有錯誤? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.64.120.93 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1407719361.A.FFC.html

08/11 22:12, , 1F
CTE裡只能下select
08/11 22:12, 1F

08/11 22:17, , 2F
抱歉沒看清楚
08/11 22:17, 2F

08/11 22:17, , 3F
with Newtable(欄位名稱) as (select * from Ntable)
08/11 22:17, 3F

08/11 22:18, , 4F
請參考MSDN
08/11 22:18, 4F

08/11 22:19, , 5F
08/11 22:19, 5F

08/11 22:22, , 6F
請忽略第三行,應該是說
08/11 22:22, 6F

08/11 22:24, , 7F
with...(省略) 接著只能下select
08/11 22:24, 7F

08/12 00:08, , 8F
謝謝 CTE的限制還真多
08/12 00:08, 8F
文章代碼(AID): #1Jw1V1_y (Database)