Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Sql 子查询返回多个我不知道的行_Sql_Subquery_Row - Fatal编程技术网

Sql 子查询返回多个我不知道的行

Sql 子查询返回多个我不知道的行,sql,subquery,row,Sql,Subquery,Row,当我试图获取“tytul”字段时,我发现了这个错误 SELECT f.*, (SELECT MAX(e) FROM seriale WHERE s = MAX(k.s) AND id_serialu = f.id) as e, MAX(k.s) as s, (SELECT tytul FROM seriale c WHERE c.s = s AND c.e = e) as tytul FROM serial f LEFT JOIN se

当我试图获取“tytul”字段时,我发现了这个错误

   SELECT f.*, 
      (SELECT MAX(e) FROM seriale WHERE s = MAX(k.s) AND id_serialu = f.id) as e, 
      MAX(k.s) as s, 
      (SELECT tytul FROM seriale c WHERE c.s = s AND c.e = e) as tytul
   FROM serial f
   LEFT JOIN seriale k ON f.id=k.id_serialu
   GROUP BY f.id
   ORDER BY f.id DESC
   LIMIT 25

我认为您的子查询中需要一些别名

(SELECT tytul FROM seriale c WHERE c.s = f.s AND c.e = f.e) as tytul
如果不这样做,
s
e
将在最近的范围内查找,即
c
,因此查询将被解释为:

(SELECT tytul FROM seriale c WHERE c.s = c.s AND c.e = c.e) as tytul
这显然会返回多行,因为它会返回表中的所有内容


但是对于别名,它当然只起作用,如果在select语句中使用子查询时,在
serial

中,s和e的每个组合最多有1行,那么特定子查询应该只返回1行

例如:在你的询问中

(SELECT MAX(e) FROM seriale WHERE s = MAX(k.s) AND id_serialu = f.id)


应该只返回一个值。它不能返回超过1个值。

此查询将为序列表的每一行返回1行或多行。如果您不提供进一步的信息,则无法说明发生了什么以及如何更正查询。序列号和序列号有什么关系?为什么要在serial上添加左连接,并将其与同一表上的subselect混合?
(SELECT tytul FROM seriale c WHERE c.s = s AND c.e = e)