declare @query nvarchar(4000)
set @query='SELECT InsightsLogs.ContentItemType, COUNT(InsightsLogs.UserId) AS nbr, CONT_COMP.MAIN'
set @query= @query + ' FROM InsightsLogs INNER JOIN CONT_COMP ON InsightsLogs.K_Contact = CONT_COMP.K_CONTACT'
set @query= @query + ' WHERE InsightsLogs.EventType =N"'itemview'" AND (InsightsLogs.K_Contact IS NOT NULL) AND (CONT_COMP.K_COMPANY <> 1) AND (CONT_COMP.MAIN = 1)'
--set @query= @query + ' AND (Date_Visite >= CONVERT(DATETIME, "' + @date1 + ' 00:00:00", 102))'
--set @query= @query + ' AND (Date_Visite < CONVERT(DATETIME, "' + @date2 + ' 00:00:00", 102))'
set @query= @query + ' GROUP BY dbo.InsightsLogs.UserId'
exec sp_executesql @query
我如何修改itemview ???总是相同的消息,itemview附近的语法不正确
InsightsLogs.EventType = N&#34;&#39; itemview&#39;&#34;
thx
答案 0 :(得分:1)
而不是双引号:
=N''itemview''
使用两个单引号:
constructor() {
this.socket = io(this.URL)
}
public getValue(): Observable<string> {
let observable = new Observable<string>(observer => {
this.socket.on('value', (data) => {
let v = data['value'];
observer.next(v)
})
return () => {
this.socket.disconnect()
}
})
return observable
}
答案 1 :(得分:0)
不太清楚你在这里要做什么或为什么需要动态sql。我怀疑你使用的是动态sql,不是因为它是必需的,而是因为你不确定如何做到这一点。我试图将此查询排序。请注意,通过使用一些格式和一些别名,这很容易看出发生了什么,而不是堆积成文本墙的所有内容。
SELECT il.ContentItemType
, COUNT(il.UserId) AS nbr
, c.MAIN
FROM InsightsLogs il
INNER JOIN CONT_COMP c ON il.K_Contact = c.K_CONTACT
WHERE il.EventType =N'itemview'
AND il.K_Contact IS NOT NULL
AND c.K_COMPANY <> 1
AND c.MAIN = 1
--AND (Date_Visite >= CONVERT(DATETIME, @date1 + ' 00:00:00', 102))
--AND (Date_Visite < CONVERT(DATETIME, @date2 + ' 00:00:00', 102))
GROUP BY il.UserId , c.MAIN
现在,如果您需要将其作为存储过程,则只需将此查询作为过程的主体。