On 7/17/2014 11:28 AM, Prabhjot Sheena wrote:
SELECT account.id <http://account.id>, account.organization_id,
run.application_id, work_unit.script, work_unit.id
<http://work_unit.id>, work_unit.start_time, run.id <http://run.id>,
work_unit.priority FROM work_unit, run, account WHERE
work_unit.status = 3 AND work_unit.run_id = run.id <http://run.id> AND
work_unit.type != 1 AND run.status = 1 AND run.account_id = account.id
<http://account.id>
that query is an implied 3-way join. it would be clearer to write it
like...
SELECT account.id <http://account.id>, account.organization_id,
run.application_id, work_unit.script, work_unit.id
<http://work_unit.id>, work_unit.start_time, run.id <http://run.id>,
work_unit.priority
FROM work_unit
JOIN run ON work_unit.run_id = run.id <http://run.id>
JOIN account ON run.account_id = account.id <http://account.id>
WHERE work_unit.status = 3 AND work_unit.type != 1 AND run.status = 1;
postgres would (or at least should) treat this exactly the same, but its
clearer what the query is doing when its written this way.
--
john r pierce 37N 122W
somewhere on the middle of the left coast