在执行一个SQLite的查询 [英] Performing a Lookup on SQLite

查看:110
本文介绍了在执行一个SQLite的查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

因此​​,这些都是我的表;

保存我数据以这样的方式,该Workout_ID(第二图)引用Workout_ID在顶部图。

我需要什么? - 我怎么能查询什么Workout_ID 2,输出字符串,当涉及到我的显示表

在SQLite的完成,这可能吗?

codeD表列名:

  DATE_ID = date_of_workout_id
日期= date_of_workout
workout_name = workout_name
date_of_workout = DateofWorkout
workout_table = WorkoutTable
workout_id(日期的一个)= name_of_workout
workout_id(WorkoutTables的一个)= workout_id

公共字符串测试(字符串WorkoutSelectedNameInfo){

  // TODO自动生成方法存根
    柱重量=;
    打开();
    ourDatabase = ourhelper.getReadableDatabase();    光标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);
             而(c.moveToNext())
        {
            重量=重量+ c.getString(iWeight)+\\ n;
        }
    c.close();
    ourDatabase.close();    的System.out.println(重量);    返回重量;}


解决方案

更​​新答案:

尝试更改


  

光标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);



  

光标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);


问题也许是因为你比较 name_of_workout workout_id

一个简单的内心或许加入?

 选择dow.date_id,dow.date,w.name
从锻炼W,date_of_workout道
其中,w.workout_id = dow.workout_id

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

So these are my tables;

I save my data in such a way that the Workout_ID (second figure) references the Workout_ID in the top figure.

What i need - How can i 'Look up' what Workout_ID 2 is and output the string, when it comes to displaying my table?

Done in SQLite, is this possible?

Coded Table column Names:

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;



}

解决方案

Updated Answer:

Try changing

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);

to

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);

the problem maybe is because you are comparing name_of_workout from workout_id.

A simple inner join perhaps?

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

这篇关于在执行一个SQLite的查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆