我正在尝试使以下查询正常工作:
我写了这个存储过程:
IF (@Mode='CurrentRootList')
BEGIN
SELECT ROW_NUMBER() OVER
(
ORDER BY emp1.EmployeeName ASC
)AS RowNumber
,emp1.empid
,emp1.EmployeeName
,(SELECT * FROM [Mobile_Locations] mloc where emp1.MobileID=mloc.MobileID AND mloc.LocationTime = DATEDIFF(MINUTE, mloc.LocationTime , CURRENT_TIMESTAMP)) as LocationTime
,emp1.ArrivalTime
,emp1.DeviceStatus
INTO #CurrentDateRootList
FROM [EMP_Locations] emp1 join [Root] root1 ON emp1.EmployeeName = root1.EmployeeName where (CURRENT_TIMESTAMP BETWEEN root1.StartDate AND root1.EndDate)
SELECT @RecordCount = COUNT(*)
FROM #CurrentDateRootList
SELECT * FROM #CurrentDateRootList
WHERE RowNumber BETWEEN(@PageIndex -1) * @PageSize + 1 AND(((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1
DROP TABLE #CurrentDateRootList
END
如何解决这个错误。 请帮助我。
最佳答案
填充 LocationTime 的子查询可能返回不止一行。您应该为该子查询添加 LIMIT 1。
编辑:并确保子查询只返回一列(注意 * ..)。
关于mysql - "Only one expression can be specified in the select list when the subquery is not introduced with EXISTS"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27543531/