【发布时间】:2020-03-05 23:49:52
【问题描述】:
我是 SnowFlake 的新手,每天都在探索新事物。我被以下情况困住了。
SELECT
'{COL}' AS field_name,
a.{COL}AS old_value,
b.{COL}AS new_value FROM A JOIN B ON(...)
WHERE a.{COL} != b.{COL}
我想参数化 COL。它可能有多个值,例如 COL=col1,col2,col3。然后我想要由 UNION 分隔的 3 个查询,如下所示。
SELECT
'col1' AS field_name,
a.col1 AS old_value,
b.col1 AS new_value FROM A JOIN B ON(...)
WHERE a.col1 != b.col1
UNION ALL
SELECT
'col2' AS field_name,
a.col2 AS old_value,
b.col2 AS new_value FROM A JOIN B ON(...)
WHERE a.col2 != b.col2
UNION ALL
SELECT
'col3' AS field_name,
a.col3 AS old_value,
b.col3 AS new_value FROM A JOIN B ON(...)
WHERE a.col3 != b.col3
有没有办法在 SnowSQL ( SnowFlake ) 中实现这一点?
【问题讨论】:
标签: dynamic-sql snowflake-cloud-data-platform snowsql