Merging two queries and I get syntax errors

From: Ibrahim Shaame <ishaame(at)gmail(dot)com>
To: pgsql-novice(at)lists(dot)postgresql(dot)org
Subject: Merging two queries and I get syntax errors
Date: 2026-03-21 14:31:42
Message-ID: CAJOWwD7r5e_s=X1ZJEc0jVYdcGiMnkGik0m=Q=1t8hmBTT0vFQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: 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

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message David G. Johnston 2026-03-21 14:42:56 Re: Merging two queries and I get syntax errors
Previous Message Laurenz Albe 2026-03-21 08:43:10 Re: AW: AW: Replication Testing- How to introduce a Lag