Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macros 包含列表的Aginity Netezza宏_Macros_Netezza - Fatal编程技术网

Macros 包含列表的Aginity Netezza宏

Macros 包含列表的Aginity Netezza宏,macros,netezza,Macros,Netezza,我想在Aginity Netezza宏中放置一个名称列表。例如,我希望能够在将来的查询中反复使用列表(“Adam”、“Bill”、“Cynthia”、“Dick”、“Ella”、“Fanny”),例如在WHERE子句中 我的问题是: (1) 我可以在查询参数编辑器的“值”窗口中输入多少字符有限制吗? (2) 有没有一种不用宏就可以工作的方法?例如,在某个地方预定义此列表?我会将列表放入一个(临时)表中,并在必要时简单地连接到它: Create temp table names as Select

我想在Aginity Netezza宏中放置一个名称列表。例如,我希望能够在将来的查询中反复使用列表(“Adam”、“Bill”、“Cynthia”、“Dick”、“Ella”、“Fanny”),例如在WHERE子句中

我的问题是: (1) 我可以在查询参数编辑器的“值”窗口中输入多少字符有限制吗?
(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有一个扩展工具包,可以启用数组数据类型,但如果您将第一个查询用于此目的,则它的性能将不会很好。有兴趣吗?请参见此处:或谷歌获取示例

谢谢。我去看看。