如果问题是如何创建一个表并使用某个SELECT语句的结果填充它,那么请查看CREATE TABLEas-result-table语法。 您可以使用AS (full-select) WITH DATA语法根据提供的查询创建一个带有元数据的新表,同时将此查询的结果插入此表中。 如果问题是关于如何在表达式中使用列别名,请参阅Expressions refer to column aliases主题。 必须在会话中将SQL_COMPAT全局变量设置为'NPS'值才能使其正常工作。 您可以在执行Map的SELECT陈述式之前,使用SET SQL_COMPAT = 'NPS'陈述式来设定它。
SET SQL_COMPAT='NPS';
SELECT
TABSCHEMA, TABNAME
, CASE WHEN COLCOUNT > 20 THEN 1 ELSE 0 END AS C1
, CASE WHEN C1 = 1 THEN 'YES' ELSE NULL END AS C2
FROM SYSCAT.TABLES
FETCH FIRST 5 ROWS ONLY;
如果你不能或不想设置这个变量,你可以使用sub-select来达到同样的效果:
SELECT
TABSCHEMA, TABNAME
, C1
, CASE WHEN C1 = 1 THEN 'YES' ELSE NULL END AS C2
FROM
(
SELECT
TABSCHEMA, TABNAME
, CASE WHEN COLCOUNT > 20 THEN 1 ELSE 0 END AS C1
FROM SYSCAT.TABLES
FETCH FIRST 5 ROWS ONLY
);
1条答案
按热度按时间xlpyo6sf1#
如果问题是如何创建一个表并使用某个SELECT语句的结果填充它,那么请查看CREATE TABLE
as-result-table
语法。您可以使用
AS (full-select) WITH DATA
语法根据提供的查询创建一个带有元数据的新表,同时将此查询的结果插入此表中。如果问题是关于如何在表达式中使用列别名,请参阅Expressions refer to column aliases主题。
必须在会话中将
SQL_COMPAT
全局变量设置为'NPS'
值才能使其正常工作。您可以在执行Map的
SELECT
陈述式之前,使用SET SQL_COMPAT = 'NPS'
陈述式来设定它。如果你不能或不想设置这个变量,你可以使用
sub-select
来达到同样的效果: