执行 Common Table 表达式时出现语法错误
Get a syntax error when doing a Common Table Expression
我写了下面的代码:
WITH b AS
(
SELECT *
FROM [Core].[dbo].[SalesAccount]
WHERE [SalesAccount].[RecordUpdateDate] > 2014-07-15
)
a AS
(
SELECT *
FROM [Core].[dbo].[SalesActivity]
)
SELECT *
FROM a
INNER JOIN b ON a.SalesAccountSFID = b.SalesAccountSFID
我得到的基本上是对此处查询的修改:https://towardsdatascience.com/how-to-ace-data-science-interviews-sql-b71de212e433
我这辈子都搞不懂为什么会抛出错误?
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near 'a'.
您可能只是漏掉了一个逗号:
with b as (
SELECT *
FROM [Core].[dbo].[SalesAccount]
WHERE [SalesAccount].[RecordUpdateDate] > '2014-07-15'
),
a as (
SELECT *
FROM [Core].[dbo].[SalesActivity]
)
SELECT *
FROM a INNER JOIN
b
on a.SalesAccountSFID = b.SalesAccountSFID;
没有理由为此使用 CTE。我发现这更简单:
SELECT sa.*, sact.*
FROM [Core].[dbo].[SalesAccount] sa INNER JOIN
[Core].[dbo].[SalesActivity] sact
on sa.SalesAccountSFID = sact.SalesAccountSFID
WHERE a.RecordUpdateDate > '2014-07-15';
请注意,我还在日期常量两边加上了单引号。
我写了下面的代码:
WITH b AS
(
SELECT *
FROM [Core].[dbo].[SalesAccount]
WHERE [SalesAccount].[RecordUpdateDate] > 2014-07-15
)
a AS
(
SELECT *
FROM [Core].[dbo].[SalesActivity]
)
SELECT *
FROM a
INNER JOIN b ON a.SalesAccountSFID = b.SalesAccountSFID
我得到的基本上是对此处查询的修改:https://towardsdatascience.com/how-to-ace-data-science-interviews-sql-b71de212e433
我这辈子都搞不懂为什么会抛出错误?
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near 'a'.
您可能只是漏掉了一个逗号:
with b as (
SELECT *
FROM [Core].[dbo].[SalesAccount]
WHERE [SalesAccount].[RecordUpdateDate] > '2014-07-15'
),
a as (
SELECT *
FROM [Core].[dbo].[SalesActivity]
)
SELECT *
FROM a INNER JOIN
b
on a.SalesAccountSFID = b.SalesAccountSFID;
没有理由为此使用 CTE。我发现这更简单:
SELECT sa.*, sact.*
FROM [Core].[dbo].[SalesAccount] sa INNER JOIN
[Core].[dbo].[SalesActivity] sact
on sa.SalesAccountSFID = sact.SalesAccountSFID
WHERE a.RecordUpdateDate > '2014-07-15';
请注意,我还在日期常量两边加上了单引号。