sql - ')' 附近的语法不正确 CTE 中的错误
问题描述
我写了以下 CTE(公用表表达式)
WITH PRODUCTION_CTE(ShortProdNo,BoatRefNumber,ProdNo, CustomerPoNumber,LoadDate, Trailer, VeadaBuilding)
AS
(
SELECT
FBS.BoatNumber AS ShortProdNo,
UOD.BoatRefNumber AS BoatRefNumber,
FBS.ProdNo AS ProdNo,
UOD.CustomerPoNumber AS CustomerPoNumber,
FBS.Shipped AS LoadDate,
FBS.TruckNum AS Trailer,
(CASE
WHEN Rtrim(UOD.CustomerPoNumber)='VEADA-VS1' THEN 'Bldg10'
ELSE 'Bldg4'
END) AS VeadaBuilding
FROM SysproCompanyV.dbo.FlatBenningtonShipping as FBS
INNER JOIN SysproCompanyV.dbo.UsrOrderDetails as UOD
ON FBS.BoatNumber=UOD.BoatRefNumber)
我从上述 CTE 收到以下错误:
Msg 102, Level 15, State 1, Line 17
Incorrect syntax near ')'.
我不确定为什么会发生这种情况,因为 CTE 中允许使用内部联接,所有括号都已关闭并且名称已正确声明。
解决方案
您需要在声明后立即调用CTE(即):PRODUCTION_CTE
;with PRODUCTION_CTE as (
. . .
)
select pc.*
from PRODUCTION_CTE pc
推荐阅读
- java - 使用 JSOUP 抓取网页并给出 SSL 错误。这是一个特定于站点的问题吗?(JSOUP 在其他网站上工作)
- javascript - 如何访问之前使用 chrome.scripting.executeScript 执行的脚本中的变量?
- swift - 当显示键盘时,将 UICollectionView 滚动到底部
- ktor - ktor 之上的自定义协议不是 HTTP 或具有本机支持的 websockets?
- html - jQuery设置时间输入标签的值
- python - 无法在 Sublime Text 中运行 python
- firebase - Firebase 云存储 - 超出限制
- nand2tetris - Nand to Tetris 如何将“pop this 2”编译成asm
- visual-studio-code - 如何在 VSCode 上的虚拟 venv 中获得安装在 PyGObject 库中的智能感知、自动完成功能?
- qt - QML TextField 不会根据 cursorPosition 定位文本