I need to pass column name and table name as parameters to the query at run time.
Example
#standardSQL
SELECT '''
SELECT AID, ''' || (
SELECT STRING_AGG(DISTINCT "MAX(IF(key = '" || key || "', value, NULL)) AS " || key)
FROM `project.dataset.table`
) || '''
FROM `project.dataset.table`
GROUP BY 1
ORDER BY 1
'''
In the same query above would like to replace hardcoded AID, key with parameterised value and the same for table name as well.
#standardSQL
DECLARE
SELECT '''
SELECT <parameter col>, ''' || (
SELECT STRING_AGG(DISTINCT "MAX(IF(<parameter col>= '" || <parameter col>|| "', value, NULL)) AS " || <parameter col>)
FROM `project.dataset.table`
) || '''
FROM `project.dataset.table`
GROUP BY 1
ORDER BY 1
'''