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')
)
在这里,当我输入一个值时,我得到正确的计数,但是当我输入多个值时,我得到了错误的计数。例如,仅输入值1 可以得到1241行的计数,而仅输入值2 可以得到0的计数。我希望输入两个值并获得两个值的结果之和。但是由于某种奇怪的值组合,我得到的结果超出了要求,而不仅仅是1241行。
我尝试了类似where (a.column,SUBSTR(b.column,7,9)) in ('value1','value2')
之类的方法,但没有成功!
答案 0 :(得分:0)
您尝试吗?
SELECT Sum(COUNT(x.columnA) + Count(x.columnb)) 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')
)x
答案 1 :(得分:0)
很难理解您想要从样本中得到什么,但是从我收集到的数据中,您可能会发现列在表A中是“ value1”,在表B中是“ value2”。我认为您需要像这样更改代码:
SELECT COUNT(*) FROM (
SELECT
columnA,
columnB
FROM
"table" A JOIN "table" B
ON a.ID = b.ID
AND SUBSTR(b.column,7,6)=a.column
WHERE a.column in ('value1','value2')
)