我正在嘗試從SALE S 資料集中的所有表中提取一些資訊。我想為多個客戶端運行它。每個客戶都有一個大的查詢專案。Bellow 查詢回傳我想要為我們的倫敦客戶提供的內容。我如何使用通配符對其他 10 個客戶端執行相同的查詢并將所有客戶端合并到一個表中?
SELECT *
FROM london_prod_uk_eu.sales.__tables__
基本上,我想簡化以下查詢:
SELECT *
FROM london_prod_uk_eu.sales.__tables__
UNION ALL
SELECT *
FROM toronto_prod_can_us.sales.__tables__
SELECT *
FROM rome_prod_it_eu.sales.__tables__
UNION ALL
SELECT *
FROM madrid_prod_sp_eu.sales.__tables__
uj5u.com熱心網友回復:
考慮以下方法
declare query array<string> default [];
declare projects array<string>;
set projects = [
'london-prod-uk-eu',
'toronto-prod-ca-us',
'rome-prod-it-eu',
'madrid-prod-sp-eu'
];
for record IN (select project from unnest(projects) project) do
set query = query || [format('select * from `%s.SALES.__TABLES__`', record.project)];
end for;
execute immediate (select string_agg(line, ' union all ') from unnest(query) line);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/389923.html
上一篇:PostgresONCONFLICTONCONSTRAINT在錯誤日志中觸發錯誤
下一篇:T-SQL查詢以查找所需的輸出
