子查询必须只返回一列

时间:2011-07-13 03:44:36

标签: php postgresql subquery

我在pgAdmin中有一个这里的查询,但是当我在zend中传输它时总是说错误:subquery must return only one column等等等等。有人可以区分这个问题吗?

  SELECT "trail_history"."new_audit_trail".*,
         (SELECT "admin".list_category_values_new."values"
            FROM "admin".list_category_values_new
           WHERE CAST(seq  AS character varying) = "trail_history"."new_audit_trail"."current_value"
             AND "name" = "trail_history"."new_audit_trail"."name") as "values"
    FROM "trail_history"."new_audit_trail" 
   WHERE (capno LIKE '12101062411001%') 
     AND (recon = '0') 
ORDER BY "date_happened" DESC

1 个答案:

答案 0 :(得分:1)

您的子选择(SELECT“admin”.list_category_values_new。“values”...)没有任何东西阻止它返回多行。您需要使用TOP 1或MAX或其他东西来确保只有一个记录来自子选择。

您可以关联子查询,以便主选择中的每个记录获得不同的单个值,但如果您要使用子选择,则它只能在主选择中每行输出返回一行