Re: [GENERAL] Left join help

Поиск
Список
Период
Сортировка
Искать
От
Adrian Klaver
Тема
Re: [GENERAL] Left join help
Дата
Msg-id
f77a175e-642e-afcf-d395-5357c7f1d59b@aklaver.com
Ответ на
Список
Дерево обсуждения
[GENERAL] Left join help Arup Rakshit <aruprakshit1987@outlook.com>
Re: [GENERAL] Left join help Paul Jungwirth <pj@illuminatedcomputing.com>
Re: [GENERAL] Left join help "David G. Johnston" <david.g.johnston@gmail.com>
Re: [GENERAL] Left join help Arup Rakshit <aruprakshit1987@outlook.com>
Re: [GENERAL] Left join help "David G. Johnston" <david.g.johnston@gmail.com>
On 06/24/2017 08:01 AM, Arup Rakshit wrote:
> Hi,
> 
> Thanks everyone for taking time to explain this. I tried to add a case 
> statement and getting errors. Can you tell me how should I add a column 
> to mark which mission is completed and which is not. My try is not 
> working. Instead of the new CASE expression, the query works as expected.

Can you show what works?

> 
> SELECT missions.*, CASE WHEN submissions.id IS NULL THEN 'incompleted' 
> ELSE 'completed' END AS mission_status
> FROM missions
> LEFT JOIN submissions
> INNER JOIN members
> ON submissions.member_id = members.id AND members.id = 1
> ON missions.id = submissions.mission_id
> WHERE missions.track_id = 7

I am not how Postgres would determine which ON refers to which JOIN here?

To get back to your original request would the below work?:

SELECT
	missions.*, CASE WHEN sub.id IS NULL THEN 'incompleted' ELSE 
'completed' END AS mission_status
FROM
	missions
LEFT JOIN
	(SELECT * FROM submissions WHERE member_id = 1) AS sub
ON
	missions.mission_id = sub.mission_id
WHERE
	missions.track_id = 7

> 
> ====
> 
> ERROR: missing FROM-clause entry for table "missions"
> LINE 1: SELECT missions.*, CASE WHEN submissions.id IS NULL THEN 'in...
> 
> 
>> On Jun 24, 2017, at 4:53 AM, John W Higgins > > wrote:
>>
>> SELECT *
>> FROM missions
>> LEFT JOIN submissions
>> INNER JOIN members
>> ON submissions.member_id =members.id ANDmembers.id 
>> = 1
>> ONmissions.id = submissions.mission_id
>> WHERE missions.track_id = 7
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com

В списке pgsql-general по дате отправления
От: Arup Rakshit
Дата:
Сообщение: Re: [GENERAL] Left join help
От: Arup Rakshit
Дата:
Сообщение: Re: [GENERAL] Left join help
FAQ