Macros 包含列表的Aginity Netezza宏
我想在Aginity Netezza宏中放置一个名称列表。例如,我希望能够在将来的查询中反复使用列表(“Adam”、“Bill”、“Cynthia”、“Dick”、“Ella”、“Fanny”),例如在WHERE子句中 我的问题是: (1) 我可以在查询参数编辑器的“值”窗口中输入多少字符有限制吗?Macros 包含列表的Aginity Netezza宏,macros,netezza,Macros,Netezza,我想在Aginity Netezza宏中放置一个名称列表。例如,我希望能够在将来的查询中反复使用列表(“Adam”、“Bill”、“Cynthia”、“Dick”、“Ella”、“Fanny”),例如在WHERE子句中 我的问题是: (1) 我可以在查询参数编辑器的“值”窗口中输入多少字符有限制吗? (2) 有没有一种不用宏就可以工作的方法?例如,在某个地方预定义此列表?我会将列表放入一个(临时)表中,并在必要时简单地连接到它: Create temp table names as Select
(2) 有没有一种不用宏就可以工作的方法?例如,在某个地方预定义此列表?我会将列表放入一个(临时)表中,并在必要时简单地连接到它:
Create temp table names as
Select ‘Adam’::varchar(50)
Union all Select ‘Bill’::varchar(50)
Union all Select ‘Cynthia’::varchar(50)
Union all Select ‘Dick’::varchar(50)
Union all Select ‘Ella’::varchar(50)
Union all Select ‘Fanny’
;
Select x.a,x.b
from x
where x.name in (select * from Names)
;
Select
case
when x.name in (select * from Names)
then ‘Special’
Else ‘Other’
End as NameGrp,
Count(*) as size,
Sum(income) as TotalIncome
Group by NameGrp
Order by size desc
;
或者,netezza有一个扩展工具包,可以启用数组数据类型,但如果您将第一个查询用于此目的,则它的性能将不会很好。有兴趣吗?请参见此处:或谷歌获取示例谢谢。我去看看。