簡體   English   中英

Android SQLite查詢ContentProvider Case語句語法

[英]Android SQLite query ContentProvider Case Statement syntax

我在運行此查詢時收到錯誤,是否知道我的語法錯誤是什么?

final Cursor c = getContentResolver().query(
Provider.GAME_URI, new String[]{"CASE WHEN " +DBHelper.COLUMN_CRE_USER + " = " + preferences.getInt(LoginScreen.ID, 0) + " THEN (" + DBHelper.COLUMN_CRE_PTS + " AS you AND " + DBHelper.COLUMN_CON_PTS + " AS them) ELSE (" + DBHelper.COLUMN_CON_PTS + " AS you AND " + DBHelper.COLUMN_CRE_PTS + " AS them)"},"turn = ?",
new String[] { preferences.getInt(LoginScreen.ID, 0) + ""}, null);

04月24日19:57:48.345:E / AndroidRuntime(18775):由以下原因引起:android.database.sqlite.SQLiteException:在“ AS”附近:語法錯誤(代碼1):,而在編譯時:創建CASE時創建了SELECT ASE = 112 THEN (創建的玩家和您所連接的玩家一樣)ELSE(創建的玩家和您所創建的玩家一樣)來自游戲在哪里(turn =?)

嘗試這個。

SELECT 
    CASE WHEN createduser = 112 THEN createdplayerpts ELSE connectedplayerpts END AS you,
    CASE WHEN createduser = 112 THEN connectedplayerpts ELSE createdplayerpts END AS them
FROM 
    game WHERE (turn = ?)

暫無
暫無

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

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