Sql 消息102,第15级,状态1,第8行'附近语法不正确;月份';
我刚从一位同事那里继承了下面的程序,我很难弄清楚问题是什么。我使用的是MS SQL server,我相信他使用的是不同的软件。当我运行使用临时表和系统中的一个表的查询时,我不断收到错误消息:Msg 102,级别15,状态1,第8行“month”附近的语法不正确。。同样,我似乎不知道如何纠正语法问题Sql 消息102,第15级,状态1,第8行'附近语法不正确;月份';,sql,sql-server,Sql,Sql Server,我刚从一位同事那里继承了下面的程序,我很难弄清楚问题是什么。我使用的是MS SQL server,我相信他使用的是不同的软件。当我运行使用临时表和系统中的一个表的查询时,我不断收到错误消息:Msg 102,级别15,状态1,第8行“month”附近的语法不正确。。同样,我似乎不知道如何纠正语法问题 CREATE TABLE #Temp_Contact ( Person_ID INT, Contact_Date DATETIME, Success INT) GO INSE
CREATE TABLE #Temp_Contact (
Person_ID INT,
Contact_Date DATETIME,
Success INT)
GO
INSERT INTO #Temp_Contact (Person_ID, Contact_Date, Success)
SELECT Person_ID, Contact_Date,
gw_ppp.dbo.fnWasContacted(Contact_Method, Contact_Result, Participant)
FROM gw_dw.dbo.DimContacts_Child
GO
CREATE TABLE #Temp_Months (Month VARCHAR(30))
INSERT INTO #Temp_Months
SELECT 'January' UNION ALL
SELECT 'February' UNION ALL
SELECT 'March' UNION ALL
SELECT 'April' UNION ALL
SELECT 'May' UNION ALL
SELECT 'June' UNION ALL
SELECT 'July' UNION ALL
SELECT 'August' UNION ALL
SELECT 'September' UNION ALL
SELECT 'October' UNION ALL
SELECT 'November' UNION ALL
SELECT 'December';
这是生成错误消息的查询
SELECT lft.Person_ID,
m.Month month,
gw_PPP.dbo.fnFmtContact(src.cnt) result
FROM gw_dw.dbo.DimContacts_Child AS lft
JOIN #Temp_Months m
on m.Month=month (lft.Contact_Date)
LEFT OUTER JOIN
(SELECT Person_ID,
DATENAME(month, MONTH(Contact_Date)) as Month,
sum(Success) as cnt
FROM #Temp_Contact
GROUP BY Person_ID, DATENAME(month, MONTH(Contact_Date))) AS src
ON (lft.Person_ID = src.Person_ID AND month (lft.Contact_Date) = src.month)
我在临时联系人中看不到月份
CREATE TABLE #Temp_Contact (
Person_ID INT,
Contact_Date DATETIME,
Success INT)
GO
我在临时联系人中看不到月份
CREATE TABLE #Temp_Contact (
Person_ID INT,
Contact_Date DATETIME,
Success INT)
GO
此处缺少一个逗号:
GROUP BY Person_ID, DATENAME(month, MONTH(Contact_Date)), month) AS src
^
您有两个JOIN
子句,但只有一个ON
子句。每次加入都需要一个
您缺少#Temp_Contact
表中的month
字段。此处缺少逗号:
GROUP BY Person_ID, DATENAME(month, MONTH(Contact_Date)), month) AS src
^
您有两个JOIN
子句,但只有一个ON
子句。每次加入都需要一个
您缺少#Temp_Contact
表中的month
字段。一个问题是m.month=month(lft.Contact_Date)
条件m.Month
是VARCHAR
而Month(lft.Contact\u Date)
是int
一个问题是m.Month=Month(lft.Contact\u Date)
条件m.Month
是VARCHAR
而Month(lft.Contact\u Date)
是int