Merging two queries and I get syntax errors - Mailing list pgsql-novice

From Ibrahim Shaame
Subject Merging two queries and I get syntax errors
Date
Msg-id CAJOWwD7r5e_s=X1ZJEc0jVYdcGiMnkGik0m=Q=1t8hmBTT0vFQ@mail.gmail.com
Whole thread
Responses Re: Merging two queries and I get syntax errors
List pgsql-novice
I am trying to insert a new column in a working query. When I query I get the column correctly, but when adding that query to the main column I get syntax errors Here are the queries:

1 - This one works perfectly:
SELECT (((b.jina::text || ' '::text) || b.baba::text) || ' '::text) || b.babu::text AS jina_kamili,
    b.namba,
    a.mlipaji,
    a.kiasi,
    a.imelipwaje,
    to_char(a.kwa_mwezi_wa::timestamp with time zone, 'yyyy'::text) AS mwaka,
    to_char(a.kwa_mwezi_wa::timestamp with time zone, 'mm'::text) AS mwezi
   FROM michango2 a,
    majina2 b
  WHERE a.mlipaji = b.namba
  ORDER BY ((((b.jina::text || ' '::text) || b.baba::text) || ' '::text) || b.babu::text), (to_char(a.kwa_mwezi_wa::timestamp with time zone, 'yyyy'::text)), (to_char(a.kwa_mwezi_wa::timestamp with time zone, 'mm'::text));
******************************************
2 - and this one works perfectly:
SELECT (EXTRACT(YEAR FROM AGE(anza_mchango, CASE WHEN mwisho_mchango ISNULL THEN NOW() ELSE mwisho_mchango END))*12 + EXTRACT(MONTH FROM AGE(anza_mchango, CASE WHEN mwisho_mchango ISNULL THEN NOW() ELSE mwisho_mchango END)))*-1 AS miezi_deni FROM majina2;
**********************************************
3 - But when the second is merged in the first like this:

SELECT (((b.jina::text || ' '::text) || b.baba::text) || ' '::text) || b.babu::text AS jina_kamili, b.namba, a.mlipaji, a.kiasi, a.imelipwaje, to_char(a.kwa_mwezi_wa::timestamp with time zone, 'yyyy'::text) AS mwaka, to_char(a.kwa_mwezi_wa::timestamp with time zone, 'mm'::text) AS mwezi,  (EXTRACT(YEAR FROM AGE(anza_mchango, CASE WHEN mwisho_mchango ISNULL THEN NOW() ELSE mwisho_mchango END))*12 + EXTRACT(MONTH FROM AGE(anza_mchango, CASE WHEN mwisho_mchango ISNULL THEN NOW() ELSE mwisho_mchango END)))*-1 AS miezi_deni 

FROM michango2 a, majina2 b 

WHERE a.mlipaji = b.namba 

ORDER BY ((((b.jina::text || ' '::text) || b.baba::text) || ' '::text) || b.babu::text), (to_char(a.kwa_mwezi_wa::timestamp with time zone, 'yyyy'::text)), (to_char(a.kwa_mwezi_wa::timestamp with time zone, 'mm'::text));


Here it does not work and I get the message:

ERROR:  syntax error at or near "a"
LINE 1: ...1 AS miezi_deni FROM michango2 a, majina2 b WHERE a.mlipaji

and it point at a.mlipaji

I would appreciate any hint.

Thanks in advance


pgsql-novice by date:

Previous
From: Laurenz Albe
Date:
Subject: Re: AW: AW: Replication Testing- How to introduce a Lag
Next
From: "David G. Johnston"
Date:
Subject: Re: Merging two queries and I get syntax errors