Hi, I was trying to run this query this morning:
-------------------------- SELECT r.*, ( SELECT rl.reminder_header, rl.reminder_footer FROM reminder_levels AS rl WHERE 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 rl WHERE 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 rl WHERE 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 rl WHERE rl.lookup = ( SELECT MAX(reminder_level_lookup) FROM reminders WHERE customer_id = r.customer_id ) -------------------------- Thanks, Philippe Lang -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql