【发布时间】:2011-01-20 07:17:58
【问题描述】:
我已精简查询以消除潜在的复杂性,此外我已验证字段是否正确。 DB2 UDB zSeries V7 是我的 db2 版本。
SELECT
STDINSTRCD,
COUNT(*) OVER(PARTITION BY STDINSTRCD),
CAST(STDINSTRDESC AS VARCHAR(1000)) AS INSTR,
C.STDINSTRSEQ,
1
FROM
SYST.SCC004 C
WHERE
C.STDINSTRCD = '098'
我也尝试过子查询。
select
H2.FRSTSTDINSTRCD,
(select count(*) from SYST.scC004 Ci where '098'=Ci.STDINSTRCD) as cnt,
cast(STDINSTRDESC as varchar(1000)),
C.STDINSTRSEQ,
1
from SYST.scE4A00 H2
LEFT OUTER JOIN SYST.scC004 C
ON C.STDINSTRCD = H2.FRSTSTDINSTRCD
WHERE
H2.CTLENTYID='MCS'
AND H2.VCKVAL='12654'
AND H2.POKVAL='0198617S12 000 000'
收到的错误是 om.ibm.db2.jcc.b.SqlException: DB2 SQL 错误: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC: (;, FROM INTO sqlcode sqlstate -104 非法符号标记。 42601 字符、标记或子句无效或缺失。
有什么建议吗?我一直无法确定我可能会犯什么语法错误。
【问题讨论】:
-
你确定那个版本支持窗口函数吗? V7 真的非常老了(仍然有手册可用的最旧版本是 V8,我在那里找不到任何关于窗口函数的参考)
标签: sql db2 window-functions