Sql DB2临时表不返回结果
我正在写一个程序,向那些证书将在未来3个月内到期的员工发送电子邮件。由于一些员工已经更新了他们的证书,我正在创建一个“良好ID”临时表,这些员工的证书至少三个月内不会过期 为此,我正在使用:Sql DB2临时表不返回结果,sql,db2,temp-tables,Sql,Db2,Temp Tables,我正在写一个程序,向那些证书将在未来3个月内到期的员工发送电子邮件。由于一些员工已经更新了他们的证书,我正在创建一个“良好ID”临时表,这些员工的证书至少三个月内不会过期 为此,我正在使用: CREATE GLOBAL TEMPORARY TABLE GOOD_IDS( INTERNAL_EMPL_ID VARCHAR(10) ) ON COMMIT PRESERVE ROWS; INSERT INTO GOOD_IDS ( SELECT DISTINCT (INTERNAL
CREATE GLOBAL TEMPORARY TABLE GOOD_IDS(
INTERNAL_EMPL_ID VARCHAR(10)
) ON COMMIT PRESERVE ROWS;
INSERT INTO GOOD_IDS (
SELECT DISTINCT (INTERNAL_EMPL_ID)
FROM LICENSE
WHERE LICENSE_TYP_CD IN ('STD') AND EXPIRATION_DT >= CURRENT DATE + 3 months);
SELECT * FROM GOOD_IDS
我已经自行运行了第二个select,可以确认它返回了约3000行。然而,当我运行这三个命令时,得到的行数为零。我错过了什么?好的。我重写了SQL,改为使用WITH语句 现在看起来是这样的
WITH
GOOD_ID_LIST AS (SELECT DISTINCT (INTERNAL_EMPL_ID) FROM LICENSE WHERE LICENSE_TYP_CD IN ('STD') AND EXPIRATION_DT >= CURRENT DATE + 3 months)
SELECT ...
嗯。我重写了SQL,改为使用WITH语句 现在看起来是这样的
WITH
GOOD_ID_LIST AS (SELECT DISTINCT (INTERNAL_EMPL_ID) FROM LICENSE WHERE LICENSE_TYP_CD IN ('STD') AND EXPIRATION_DT >= CURRENT DATE + 3 months)
SELECT ...
删除括号,即插入到正确的ID中选择不同的…?否。删除插入项上的括号无法解决此问题。请删除括号,即执行
插入到正确的\u id选择不同的…
?否。删除插入项上的括号无法修复它。