簡體   English   中英

無法將子選擇的結果轉換為數字

[英]Cannot cast result from Sub-Select to numeric

我正在選擇一個 ID 列表作為條件中的子查詢,但它說它不能將“123,456”轉換為數字。 問題出現在最后一行。 DB 是 Sybase-SQL-Anywhere。

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))

刪除LIST()

# 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

# 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM