在mysql中運行以下查詢時,它工作得很好。參數索引超出範圍(1>參數數目,爲0)。 Mysql vs Java
SELECT
a.feed_date, a.partner_name,
SUM(a.count) as InputCount,
SUM(CASE when (b.count is null) then 0 else b.count end) as OutputCount
FROM
(SELECT year,week,partner_name, feed_date, count
FROM op_dev.op_stats
WHERE partner_name IN ('xyz, INC.','abc')
AND mkt_elig_cd='Y'
AND rel_grp_type_no='00000'
AND feed_type='SellerChar') AS A
LEFT OUTER JOIN
(SELECT year,week,feed_date, partner_name, count
FROM opt_dev.op_stats
WHERE partner_name IN ('xyz, INC.','abc')
AND mkt_elig_cd='Y'
AND rel_grp_type_no='00000'
AND feed_type='MSF') AS B
ON A.partner_name = B.partner_name
AND A.year=B.year
AND A.week=B.week
GROUP BY A.week,A.year;
然而,當我使用相同的查詢字符串,並把它通過Java代碼,它給我以下錯誤:
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
可有人請幫我指出是什麼導致這個問題。
那麼,SQL是不可能讀取的。請重新格式化。 --- SQL如何執行?錯誤可能與此有關,所以你需要顯示它。 – Andreas
感謝Nguyen格式。我通過準備語句使用sql來傳遞上面的字符串作爲查詢。 – TrexTroy
請包含用於執行此操作的Java代碼以及整個堆棧跟蹤,而不僅僅是錯誤消息。 –