earlier I had asked for some help on an Oracle query I was trying to make into a Postgres query:
SELECT c.code, c.recommendation, s.suggested, s.sugg_by, a.approved, a.app_by
FROM (SELECT code, recommendation FROM recommendations) c,
(SELECT code, suggested, sugg_by FROM suggestions) s,
(SELECT code, approved, app_by FROM suggestions) a
WHERE c.code = s.code(+)
AND c.code = a.code(+);
Someone recommended this, and it works fine:
SELECT
c.code,
c.recommendation,
s.suggested,
s.sugg_by,
a.approved,
a.app_by
FROM recommendations c
LEFT JOIN suggestions s on c.code = s.code
LEFT JOIN suggestions a ON c.code = a.code;
I forgot to mention one thing: I need to add in a join to a USERS table to get the users name.
sugg_by = u.user_id
app_by = u.user_id
So, something like this:
SELECT c.code, c.recommendation, s.suggested, s.sugg_by, s.full_name, a.approved, a.app_by, a.full_name
FROM (SELECT code, recommendation FROM recommendations) c,
(SELECT code, suggested, sugg_by, full_name FROM suggestions s, users u WHERE s.sugg_by = u.user_id) s,
(SELECT code, approved, app_by, full_name FROM approvals a, users u WHERE a.app_by = u.user_id) a
WHERE c.code = s.code(+)
AND c.code = a.code(+);
Basically I need the names also from the USERS table. Easy enough in Oracle, just trying to get this together for Postgres.
Easy enough in OracleI suggest to swithc to use explicit JOINs. It will pay off in the long run. Oracle Joins - Comparison between conventional syntax VS ANSI Syntax