簡體   English   中英

多個表中具有相同值的列在選擇多個值時返回錯誤的數據計數

[英]Columns from multiple table with same value returning wrong count of data when selecting multiple values

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')但它沒有用!

你試了嗎?

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

很難從樣本中了解您想要什么,但從我收集的信息來看,您可能在表 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')

)

暫無
暫無

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

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