I'm a SQL Server guy and I have a need to write some dynamic SQL in Postgres. Here's what I need. The dynamic SQL would be dependent upon integers produced by this query:
SELECT local_channel_id
FROM d_channels dc
INNER JOIN channel c ON c.id = dc.channel_id
                     AND c.name LIKE '%__Achv'
Using this, I need to build and execute a select and subsequent union select on the below query substituting the the values produced by the above query where indicated below by {X} (4 places):
SELECT
    dmc.message_id,
    dmm.received_date,
    dmm.server_id,
    dc.channel_id,
    dmcm."SOURCE",
    dmcm."TYPE",
    dmm.status,
    dmc.content
FROM 
    d_mc{X} dmc
INNER JOIN 
    d_mm{X} dmm ON dmc.message_id = dmm.message_id
INNER JOIN 
    d_channels dc ON dc.local_channel_id = {X}
INNER JOIN 
    d_mcm{X} dmcm ON dmcm.message_id = dmc.message_id
                  AND dmcm.metadata_id = 0
WHERE 
    dmm.connector_name = 'Source'
    AND dmc.content_type = 1 --Raw
    AND date(dmm.received_date) + interval '7' < now()
Can anybody help with this? I'm truly clueless when it comes to Postgres.
 
    