首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能从子转换结果-选择为数字

不能从子转换结果-选择为数字
EN

Stack Overflow用户
提问于 2022-07-11 09:14:38
回答 1查看 39关注 0票数 0

在一个条件下,我选择一个it列表作为子查询,但是它说它不能将‘123 456’转换成数字。问题发生在最后一行。DB是Sybase-SQL-Anywhere。

代码语言:javascript
复制
SELECT
 ISNULL(SUM(a.menge), 0) AS menge,
 ISNULL(SUM(a.wert), 0) AS wert
FROM admin.p_ws_ix_kontrakte_ernte_auswertung_jensek a
WHERE
 (a.KtrErnteJahr = ? OR ? IS NULL)
AND (
 (a.KtrDispoKennz >= ? OR ? IS NULL)
AND
 (a.KtrDispoKennz <= ? OR ? IS NULL)
)
AND a.artikelstammid IN ((SELECT LIST(artikelstammId) FROM admin.ws_ix_auswertung_cfg_spalten_artikel WHERE columnId = $column))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-11 22:50:06

删除LIST()

代码语言:javascript
复制
# replace this:

AND a.artikelstammid IN ((SELECT LIST(artikelstammId) FROM admin.ws_ix_auswertung_cfg_spalten_artikel WHERE columnId = $column))

# with this:

AND a.artikelstammid IN (SELECT artikelstammId FROM admin.ws_ix_auswertung_cfg_spalten_artikel WHERE columnId = $column)

另一个选择是exists/correlated subquery

代码语言:javascript
复制
# replace this:

AND a.artikelstammid IN ((SELECT LIST(artikelstammId) FROM admin.ws_ix_auswertung_cfg_spalten_artikel WHERE columnId = $column))

# with this:

AND exists (SELECT 1 FROM admin.ws_ix_auswertung_cfg_spalten_artikel b WHERE b.columnId = $column and b.artikelstammId = a.artikelstammid)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72936173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档