2015-11-09 28 views
-1

我有一個表「MYTABLE」是這樣的:查詢sqlite的:增加人物的任何數字和另一

MyTable

我想,條件是在添加的每個號碼的數字: 如果添加是> 9你減去9.

Ex。 13 = 1 + 3 = 4
7 = 0 + 7 = 7
55 = 5 + 5 = 10 - 9 = 1
27 = 9

代碼:從MYTABLE


選定數量%9但是,在這種情況下,值27返回0,而不是9(值正確)。

在此先感謝

+0

請通過向我們顯示格式良好的表更新您的問題。請在您的問題獲得批准之前執行此操作。 –

+0

你確定它是> 9而不是≥9嗎? –

+0

是:> 9。預期的和可能的結果是:1,2,3,4,5,6,7,8,9 – Andreas

回答

0

您使用mod,讓你的結果會在集[0...(x-1)],其中x是你的除數。您想要將結果集更改爲[1...x],但不能將所有內容都移動一個。相反,您希望結果是「正常」mod結果,除非結果爲零,在這種情況下,您想返回除數。要做到這一點,我們需要一個案例...

SELECT 
    CASE WHEN (number % 9) = 0 THEN 
      9 
    ELSE 
      (number % 9) 
    END AS [field] 
FROM 
    mytable 
+0

@Andreas我沒有關注。我對你的評論發表了看法:_預期的和可能的結果是:1,2,3,4,5,6,7,8,9_。 _4.7.1.9_代表什麼? – LDMJoe

+0

嗨。對於從1到90的所有數字預期和可能的結果是:1,2,3,4,5,6,7,8,9。這只是泛化。回到實際情況,對於數字13 * 7 * 55 * 27,預期的加法數字的結果= 4 * 7 * 1 * 9。查詢...選擇數字%9返回4.7.1.0。你如何在9中轉換零點? – Andreas

+0

謝謝。這是完美的,LDMJoe – Andreas