Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql “当子查询未引入EXISTS时,只能在选择列表中指定一个表达式”错误_Mysql_Sql - Fatal编程技术网

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。