Thread
-
Merging two queries and I get syntax errors
Ibrahim Shaame <ishaame@gmail.com> — 2026-03-21T14:31:42Z
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 -
Re: Merging two queries and I get syntax errors
David G. Johnston <david.g.johnston@gmail.com> — 2026-03-21T14:42:56Z
On Saturday, March 21, 2026, Ibrahim Shaame <ishaame@gmail.com> wrote: > > FROM michango2 a, majina2 b > > WHERE a.mlipaji = b.namba > > > 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 > Nothing seems obviously wrong which leads me to suspect some nonprinting character issues. Try writing/rebuilding the query in small increments until you get the error again then manually retype the last added chunk. Or just take the opportunity to use a more conventional explicit ANSI join syntax and move the join condition to the ON clause, getting rid of the where clause with the apparent issue. David J.
-
Re: Merging two queries and I get syntax errors
Ibrahim Shaame <ishaame@gmail.com> — 2026-03-21T14:52:35Z
Thank you David for the quick response. I placed the new column two columns before and it works. I just can't understand why it does not when added to the end. But anyway it works where it is now. Thank you again. Ibrahim Shaame On Sat, Mar 21, 2026 at 5:42 PM David G. Johnston < david.g.johnston@gmail.com> wrote: > On Saturday, March 21, 2026, Ibrahim Shaame <ishaame@gmail.com> wrote: > >> >> FROM michango2 a, majina2 b >> >> WHERE a.mlipaji = b.namba >> >> >> 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 >> > > Nothing seems obviously wrong which leads me to suspect some nonprinting > character issues. Try writing/rebuilding the query in small increments > until you get the error again then manually retype the last added chunk. > Or just take the opportunity to use a more conventional explicit ANSI join > syntax and move the join condition to the ON clause, getting rid of the > where clause with the apparent issue. > > David J. > >