[英]Android : SQLITE Select Query
我有一張student_fee
表,其中的列是:
id_fee
id_student
student_name
fee_month
在這里,我根據學生每月支付的學費插入數據。 由此我可以很容易地查詢哪些學生支付了他們的月費,假設一月的費用通過 Query Like : Select * From student_fee Where fee_month = "January";
但是,我如何搜索哪些學生僅在 1 月份未支付月費?
通常,您應該標准化數據庫表以避免一遍又一遍地存儲學生姓名:
<!-- sql -->
CREATE TABLE students ( id INTEGER, name varchar(60));
INSERT INTO students ( id , name ) VALUES (1, 'stud_1');
INSERT INTO students ( id , name ) VALUES (2, 'stud_2');
INSERT INTO students ( id , name ) VALUES (3, 'stud_3');
INSERT INTO students ( id , name ) VALUES (4, 'stud_4');
INSERT INTO students ( id , name ) VALUES (5, 'stud_5');
CREATE TABLE student_fee (id INTEGER, studentId INTEGER, month varchar(20));
INSERT INTO student_fee (id , studentId , month ) VALUES (1, 1, 'january');
INSERT INTO student_fee (id , studentId , month ) VALUES (2, 2, 'january');
INSERT INTO student_fee (id , studentId , month ) VALUES (4, 2, 'february');
INSERT INTO student_fee (id , studentId , month ) VALUES (5, 3, 'february');
INSERT INTO student_fee (id , studentId , month ) VALUES (6, 4, 'february');
你會像這樣查詢它:
select *
from students
where not exists (
select 1
from student_fee
where students.id = studentid
and month = 'january')
輸出:
id name
3 stud_3
4 stud_4
5 stud_5
(Sql語法是mysql,sqlite不清楚)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.