【发布时间】:2019-07-09 19:19:11
【问题描述】:
SELECT COUNT(*) FROM (
SELECT
columnA,
columnB
FROM
"table" A JOIN "table" B ON a.ID = b.ID
WHERE a.column in ('value1','value2')
AND SUBSTR(b.column,7,6) in ('value1','value2')
)
在这里,当我输入一个值时,我得到了正确的计数,但是当我输入多个值时,我得到了错误的计数。例如,仅输入 value 1 会得到 1241 行的计数,而仅输入 value 2 会得到 0 的计数。我希望输入这两个值并获得两个值的结果之和。但不知何故,由于值的奇怪组合,我得到的结果比需要的多,而不仅仅是 1241 行。
我尝试了where (a.column,SUBSTR(b.column,7,9)) in ('value1','value2') 之类的方法,但没有成功!
【问题讨论】:
-
我怀疑这是有效的语法
-
没有'=',因此它没有将任何列与元组@scaisEdge 进行比较。我已经谈到了预期的结果以及我想用上面的代码做什么
-
这是一个有效的语法,如果我只将一个值传递给值列表@dneoth,它就可以完美地工作
标签: sql oracle multiple-columns