SQL:select中的简单自定义列不起作用?
如果在select中添加自定义列,则会出现以下错误: 20018无效的列名“2” 下面是一个查询示例SQL:select中的简单自定义列不起作用?,sql,sql-server,sql-server-2008,tsql,laravel,Sql,Sql Server,Sql Server 2008,Tsql,Laravel,如果在select中添加自定义列,则会出现以下错误: 20018无效的列名“2” 下面是一个查询示例 SELECT [msg].[MessageTo], [msg].[MessageFrom], [msg].[SendTime], [msg].[ReceiveTime], [msg].[id], '2' AS source, [kat].[id] AS [CategoriId], [kat].[naziv] AS [Categori
SELECT
[msg].[MessageTo],
[msg].[MessageFrom],
[msg].[SendTime],
[msg].[ReceiveTime],
[msg].[id],
'2' AS source,
[kat].[id] AS [CategoriId],
[kat].[naziv] AS [CategoriName]
FROM
[SMSServer_1].[dbo].[MessageIn] AS [msg]
LEFT JOIN [Tekijanka].[dbo].[crm_poruka] AS [por] ON [por].[fk_poruka] = [msg].[id]
AND [por].[fk_source] = [2]
LEFT JOIN [Tekijanka].[dbo].[crm_kategorije_poruka] AS [kat] ON [kat].[id] = [por].[fk_kategorija]
WHERE
msg.id NOT IN (
SELECT
fk_poruka
FROM
Tekijanka.dbo.crm_poruka
WHERE
fk_status <> 1
)
ORDER BY
[SendTime] DESC
有没有办法解决这个问题?问题出在左连接,而不是选择部分:
此条件尝试联接fk_源和名为[2]的列。当然,MessageIn和crm_poruka表中没有这样的列。您必须更改代码的这部分以删除条件或将其更改为和[por].[fk_source]=2.和[por].[fk_source]=[2]?任何表中都没有列名称[2]。可能您需要并且[por].[fk_source]=2 2是一个整数值,[2]是标识,por,fk_source=2。por是表crm\u poruka…我需要它在连接条件中删除方括号。没有名为[2]的列。我使用laravel eloquent,它会自动添加方括号,我强制它不添加,现在它工作了……非常感谢,您帮助了我:
AND [por].[fk_source] = [2]