2013-12-16 2 views
0

Что я хочу реализовать: внутри WHERE, введя умножение и разделение. Возможно.Этот rawquery возможен: WHERE (столбец a * column a/'"+ double +" _%') BETWEEN 'int' AND 'int'

КОД:

public int estadistica_peso_actual_n (String s_actual_ano, Double d_altura) { 
String s_est = "SELECT COUNT(tr_peso)*100/(SELECT COUNT(tr_peso) FROM bdt_registro WHERE tr_fecha LIKE '" +s_actual_ano+ "_%') AS porcentaje FROM bdt_registro WHERE (tr_peso*tr_peso/'" +d_altura+ "_%') BETWEEN '20' AND '24' AND tr_fecha LIKE '" +s_actual_ano+ "_%'"; 
Cursor c_est = db.rawQuery(s_est, null); 
int i_peso_n = 0; 
if (c_est.moveToLast()) { 
    i_peso_n = c_est.getInt (c_est.getColumnIndex("porcentaje")); 
    Log.d(LOGTAG, "peso" + i_peso_n); 
} 
c_est.close(); 
return i_peso_n;        
} 

Этот код возвращает ноль. Мне нравится, что он возвращался между 20 и 24.

Спасибо за проявленный интерес.

+0

В чем смысл '... tr_peso/'" + d_altura + "_%''? Вы не можете делить на строку. –

+0

спасибо за ответ, но tr_peso в базе данных - номер. – d2000k

+0

Извините, код был плохим. новый код: ... WHERE (tr_peso/'"+ d_altura +"') BETWEEN ... – d2000k

ответ

0

Заменить BETWEEN '20' AND '24' на BETWEEN 20 AND 24.

Фактически вы сравниваете данные NUMERIC с данными TEXT.

+0

благодарит за ответить, но не работает – d2000k

+0

Что не работает? Ваш вопрос очень загадочный ... –

+0

извините, ответьте 0 – d2000k

Смежные вопросы