подзапрос должен возвращать только один столбец - PullRequest
2 голосов
/ 13 июля 2011

У меня есть запрос здесь, который подходит для 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 Ответ

1 голос
/ 13 июля 2011

Ваш суб-выбор (SELECT "admin" .list_category_values_new. "Values" ...) не имеет ничего, что мешало бы ему возвращать несколько строк.Вам нужно использовать TOP 1 или MAX или что-то еще, чтобы гарантировать, что из подвыбора выходит только одна запись.

Вы можете сопоставить подзапрос, чтобы каждая запись в вашем главном выборе получала отдельное отдельное значение, но если вы собираетесь использовать подвыбор, он может возвращать только одну строку на строку вывода вваш главный выбор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...