Mysql “当子查询未引入EXISTS时,只能在选择列表中指定一个表达式”错误
我正在尝试使以下查询正常工作: 我编写了以下存储过程:Mysql “当子查询未引入EXISTS时,只能在选择列表中指定一个表达式”错误,mysql,sql,Mysql,Sql,我正在尝试使以下查询正常工作: 我编写了以下存储过程: 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=mlo
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的子查询可能返回多行。您应该为该子查询添加限制1
EDIT:还要确保子查询只返回一列*..我想在这个查询中设置限制1的地方???@Aks,子查询的最后一个子句应该是限制1。所以这意味着选择。。。从…起哪里限制1。请考虑在子查询中用单个列替换*。您有这个标记的MySQL,但它看起来非常像SQL Server。