以下查询:
WITH
CteProductLookup(ProductId, oid)
AS
(
SELECT p.ProductID, p.oid
FROM [dbo].[ME_CatalogProducts] p
)
SELECT
rel.Name as RelationshipName,
pl.ProductId as FromProductId,
pl2.ProductId as ToProductId
FROM
(
[dbo].[ME_CatalogRelationships] rel
INNER JOIN CteProductLookup pl
ON pl.oid = rel.from_oid
)
INNER JOIN CteProductLookup pl2
ON pl2.oid = rel.to_oid
WHERE
rel.Name = 'BundleItem' AND
pl.ProductId = 'MX12345';
Run Code Online (Sandbox Code Playgroud)
是生成此错误:
消息319,级别15,状态1,行5关键字'with'附近的语法不正确.如果此语句是公用表表达式,xmlnamespaces子句或更改跟踪上下文子句,则必须以分号终止先前的语句.
仅在执行时.管理工作室的sql语句中没有错误/警告.
有任何想法吗?
KM.*_*KM. 91
总是使用语句就像;WITH那样你永远不会得到这个错误.WITH命令需要;在它和任何以前的命令之间,总是使用;WITH你永远不必记住这样做.
请参阅WITH common_table_expression(Transact-SQL),参见"创建和使用公用表表达式指南"一节:
如果在作为批处理一部分的语句中使用CTE,则其前面的语句必须后跟分号.
| 归档时间: |
|
| 查看次数: |
79043 次 |
| 最近记录: |