Hi,
I was trying to run this query this morning:
--------------------------
SELECT
r.*,
(SELECT
rl.reminder_header,rl.reminder_footer
FROM reminder_levels AS rlWHERE rl.lookup =( SELECT MAX(reminder_level_lookup) FROM reminders WHERE
customer_id= r.customer_id)
)
FROM reminders AS r
--------------------------
Postgresql replied that:
--------------------------
ERROR: subquery must return only one column
SQL state: 42601
--------------------------
Is there a way to avoid writing:
--------------------------
SELECT
r.*,
(SELECT
rl.reminder_header
FROM reminder_levels AS rlWHERE rl.lookup =( SELECT MAX(reminder_level_lookup) FROM reminders WHERE
customer_id= r.customer_id)
) AS reminder_header,
(SELECT
rl.reminder_footer
FROM reminder_levels AS rlWHERE rl.lookup =( SELECT MAX(reminder_level_lookup) FROM reminders WHERE
customer_id= r.customer_id)
) AS reminder_footer
FROM reminders AS r
--------------------------
... which works, but runs twice the same subselect block:
--------------------------FROM reminder_levels AS rlWHERE rl.lookup =( SELECT MAX(reminder_level_lookup) FROM
reminders WHERE customer_id = r.customer_id)
--------------------------
Thanks,
Philippe Lang