我有这个疑问:SQL查询有时会返回错误结果
query = "SELECT DISTINCT set_number " +
"FROM next_workout_exercises " +
"WHERE next_id = " + workoutid + " AND exercise_number = " + exercise_number;
,并返回了一定的成效。
在此之后,我有另外一个查询,如下所示:
query = "SELECT * FROM (SELECT * FROM next_workout_exercises INNER JOIN exercises WHERE next_workout_exercises.exercise_id = exercises.id)" +
" WHERE next_id = " + workoutid + " AND exercise_number = " + exercise_number + " AND set_number = " + set_number;
这有时会返回结果为零。 set_number与第一个查询相同,没有数据发生变化。
任何人都可以评论为什么会发生这种情况?
有问题的表格:
CREATE TABLE exercises
(
id INTEGER PRIMARY KEY,
exercise_name TEXT,
explanation TEXT,
type INTEGER,
target_body INTEGER,
exercise_video TEXT,
exercise_pic1 TEXT,
exercise_pic2 TEXT,
picturetype INTEGER,
backedup INTEGER
);
CREATE TABLE next_workout_exercises
(
id INTEGER PRIMARY KEY,
next_id INTEGER,
exercise_id INTEGER,
weightkg REAL,
weightlb REAL,
reps INTEGER,
reps2 INTEGER,
set_number INTEGER,
exercise_number INTEGER,
incrementkg REAL,
incrementlb REAL,
resttime1 INTEGER,
resttime2 INTEGER,
resttime3 INTEGER,
failures INTEGER,
failuresallowed INTEGER,
percentage REAL,
reptype INTEGER,
exercisetype INTEGER,
backedup INTEGER,
FOREIGN KEY(next_id) REFERENCES nextWorkout(id),
FOREIGN KEY(exercise_id) REFERENCES exercises(id)
);
您是否可以编辑您的问题以包含表格模式并在表格中提供最少的一组数据以显示您遇到的错误行为? – CDahn
@CDahn打败了我:) – Jim
对不起。我已经添加了表格。 – Mizan