Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/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
Postgresql 子查询返回的多行用作简单查询的表达式?_Postgresql - Fatal编程技术网

Postgresql 子查询返回的多行用作简单查询的表达式?

Postgresql 子查询返回的多行用作简单查询的表达式?,postgresql,Postgresql,此查询: SELECT "Nume", "Prenume" FROM public."Personal" WHERE "Cod_angajat"=(SELECT "Cod_angajat" FROM public."Consultati"); 生成此错误: ERROR: more than one row returned by a subquery used as an expression ********** Error ********** ERROR: more than one

此查询:

SELECT "Nume", "Prenume" FROM public."Personal"
WHERE "Cod_angajat"=(SELECT "Cod_angajat" FROM public."Consultati");
生成此错误:

ERROR:  more than one row returned by a subquery used as an expression
********** Error **********

ERROR: more than one row returned by a subquery used as an expression
SQL state: 21000
同一数据库中有两个表。因为这个,我要杀了我的笔记本电脑。是因为查询将返回相同的值两次左右吗?

WHERE something=something\u else部分要求something和something\u else必须是相同类型的单数值。SQL允许您使用子查询替换其他内容,但此子查询仍必须返回与某个内容相同类型的单数值

这意味着子查询必须返回包含一个字段的一行

让我重复一下:子查询必须返回一行且仅返回一行,并且此行必须包含一个且仅包含一个字段。零行不行;两行或两行以上都不行;两个或多个字段无法执行此操作;您只需要一行和一个字段

错误消息非常清楚地表明您的子查询返回多行。有时错误信息是神秘的,所以人们来到stackoverflow询问它们的意思;这不是其中之一

事实上,您的查询没有任何筛选器,没有WHERE子句,因此它返回表中的所有行

这显然行不通

您需要重述子查询,以便它只返回一行。

WHERE something=something\u else部分要求something和something\u else必须是相同类型的单数值。SQL允许您使用子查询替换其他内容,但此子查询仍必须返回与某个内容相同类型的单数值

这意味着子查询必须返回包含一个字段的一行

让我重复一下:子查询必须返回一行且仅返回一行,并且此行必须包含一个且仅包含一个字段。零行不行;两行或两行以上都不行;两个或多个字段无法执行此操作;您只需要一行和一个字段

错误消息非常清楚地表明您的子查询返回多行。有时错误信息是神秘的,所以人们来到stackoverflow询问它们的意思;这不是其中之一

事实上,您的查询没有任何筛选器,没有WHERE子句,因此它返回表中的所有行

这显然行不通


您需要重述子查询,使其只返回一行。

欢迎使用堆栈溢出!您可以先学习并创建一个示例。这使我们更容易帮助您。欢迎使用堆栈溢出!您可以先学习并创建一个示例。这使我们更容易帮助你。