У меня следующий запрос:
WITH modalities as (
SELECT DISTINCT
col4 as modalities
FROM `myproject.table1`
SELECT
CONCAT("""
SELECT
col1,col2, col3
""",
STRING_AGG( if_clauses , """,
"""),
"""
FROM `myproject.table1`
GROUP BY col1,col2, col3
ORDER BY col1,col2
""") as query
FROM
(
SELECT
CONCAT ("SUM(IF (col4 = '",tcc, "',1,0)) as ", col4) as if_clauses
FROM contact_type )
'''
По сути, он генерирует запрос к одному горячему кодированию col4: для каждой модальности мы генерируем новый столбец. Этот запрос возвращает одну строку с одной строковой ячейкой, которая является запросом.
Как мне интерпретировать этот запрос? Я ищу что-то вроде
With query as (...)
SELECT * FROM INTERPRET(QUERY)