在SQLite上执行查找

时间:2013-12-29 17:36:59

标签: android mysql

http://postimg.org/image/4vozphdk7/

所以这些是我的表格;

我以这样的方式保存我的数据:Workout_ID(第二个图)引用了上图中的Workout_ID。

我需要什么 - 在显示我的桌子时,我如何'查找'Workout_ID 2是什么并输出字符串?

在SQLite中完成,这可能吗?

编码表列名称:

date_id = date_of_workout_id
date = date_of_workout
workout_name = workout_name
date_of_workout = DateofWorkout
workout_table = WorkoutTable
workout_id(date's one) = name_of_workout
workout_id(WorkoutTables's one) = workout_id

public String test(String WorkoutSelectedNameInfo){

    // TODO Auto-generated method stub
    String Weight = "";
    open();
    ourDatabase = ourhelper.getReadableDatabase();



    Cursor c = ourDatabase.rawQuery("SELECT date_of_workout_id, 
   date_of_workout, workout_name FROM DateofWorkout JOIN WorkoutTable ON 
 DateofWorkout.name_of_workout = WorkoutTable.workout_id", null);
    int iWeight = c.getColumnIndex(KEY_WORKOUT_NAME);
             while(c.moveToNext())
        {
            Weight = Weight + c.getString(iWeight) + "\n";
        }


    c.close();
    ourDatabase.close();

    System.out.println(Weight);

    return Weight;



}

3 个答案:

答案 0 :(得分:0)

更新的答案:

尝试更改

  

Cursor c = ourDatabase.rawQuery(“SELECT date_of_workout_id,
  date_of_workout,workout_name FROM DateofWorkout JOIN WorkoutTable ON   DateofWorkout.name_of_workout = WorkoutTable.workout_id“,null);

  

Cursor c = ourDatabase.rawQuery(“SELECT date_of_workout_id,
  date_of_workout,workout_name FROM DateofWorkout JOIN WorkoutTable ON    DateofWorkout.workout_id = WorkoutTable.workout_id “,null);

问题可能是因为您正在比较 workout_id 中的 name_of_workout

也许是一个简单的内部联接?

select dow.date_id, dow.date, w.name
from workout w, date_of_workout dow
where w.workout_id = dow.workout_id

答案 1 :(得分:0)

一个非常简单的JOIN可以做到这一点;

SELECT date_id, date, workout_name
FROM date_of_workout 
JOIN workout_table 
  ON date_of_workout.workout_id = workout_table.workout_id

答案 2 :(得分:0)

SELECT date_ID, date, workout_name
FROM workouts, dates
WHERE workouts.workout_ID = dates.workout_ID