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子句,因此它返回表中的所有行
这显然行不通
您需要重述子查询,使其只返回一行。欢迎使用堆栈溢出!您可以先学习并创建一个示例。这使我们更容易帮助您。欢迎使用堆栈溢出!您可以先学习并创建一个示例。这使我们更容易帮助你。