下面是我的查詢的代碼,其中我目前正在傳遞100個記錄的DB表中存在的只有8個產品的ID。Android Sqlite查詢工會全部
String query = "SELECT productId IN (" + makePlaceholders(ids.length)+"),"+ " * FROM " + tableName + " WHERE type LIKE 'percent'"
+ " UNION ALL "
+ "SELECT productId IN (" + makePlaceholders(ids.length)+"),"+ " * FROM " + tableName + " WHERE type LIKE 'currency' ORDER BY cash DESC";
cursor = dataBase.rawQuery(query, ids);
我的問題是,它顯示了所有的記錄(即所有的100條記錄),而不是隻有8我從ID使用IN
子句傳遞。 我希望通過現金顯示這8條記錄(或更多通過函數)ORDER
。
現在我應該如何編寫這個查詢來實現我的目標。
編輯: 我只用一個表來達到這個目的。
簡單地說:你根本不知道SQL SELECT productId IN(...)'什麼? ...'類型LIKE'percent''(如果你不使用通配符,則不需要'like') – Selvin
我不會使用'UNION ALL'(順便說一下,它也包含重複項) ,但使用'「SELECT * FROM」+ tableName +「WHERE類型IN('percent','category')AND productId IN(」+ makePlaceholders(ids.length)+「)」' –
我的建議查詢是否有效?只是出於好奇。 –