SQL Server查询错误,"对象或列名称丢失或为空"

Art*_*t F 6 sql sql-server

我在SQL Server中的存储过程中有以下查询:

SELECT  TLI.LESNumber
    ,COUNT(TLT.PL)
INTO #PWCM
FROM #tmpLESImport TLI
INNER JOIN tbl_LES L 
    on TLI.LESNumber=L.NUMB
WHERE ISNULL(L.DELT_FLAG,0)=0
    AND L.SCHL_PK=@SCHL_PK
    AND TLI.PL IS NOT NULL
    AND LEN(TLI.PL)>0
GROUP BY LESNumber 
HAVING COUNT(PL)>1
Run Code Online (Sandbox Code Playgroud)

运行查询时出现以下错误:

An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.

谁能告诉我为什么?#PWCM在此查询之前不会出现在任何地方.

Joe*_*nos 17

当您SELECT INTO创建表时,它会创建表(在本例中为临时表).为了创建表,每列需要一个名称,而count列则不需要.你只需要给它一个名字:

SELECT  TLI.LESNumber,COUNT(TLT.PL) [NumRecords]
INTO #PWCM
FROM #tmpLESImport TLI
...
Run Code Online (Sandbox Code Playgroud)


Yos*_*ein 10

我有这个查询的错误

SELECT 
CASE WHEN COALESCE([dbo].[my-table].[field],"") = '...' THEN 'A' 
     WHEN COALESCE([dbo].[my-table].[field],"") = '...' THEN 'B' 
     ...
     END AS aaa  INTO ##TEMPTABLE
FROM [dbo].[my-table]
Run Code Online (Sandbox Code Playgroud)

事实证明我必须""将COALSCE内部改为''.

为我解决了它