请帮助sqlite n00b.
我有两张桌子
"CREATE TABLE students (" +
"_id INTEGER PRIMARY KEY AUTOINCREMENT," +
"studentname TEXT not null," +
"studentpic BLOB," +
"comment TEXT);";
Run Code Online (Sandbox Code Playgroud)
和
"CREATE TABLE classes (" +
"_id INTEGER PRIMARY KEY AUTOINCREMENT," +
"classname TEXT," +
"attend INTEGER," +
"late INTEGER," +
"dtime TEXT," +
"student INTEGER REFERENCES students(_id) on
UPDATE CASCADE);";
Run Code Online (Sandbox Code Playgroud)
我想在特定的类中显示学生列表,但我的classes表仅通过student-id引用它们,如何构造查询以将"classes"表的所有字段拉回单个游标但使用实际名称从'学生'表?
提前谢谢了
您可以将rawquery方法与以下SQL代码一起使用:
SELECT classes._id, students.studentname, classes.classname, classes.attend, classes.late, classes.dtime
FROM students, classes
WHERE students._id=classes.student
Run Code Online (Sandbox Code Playgroud)
简而言之,通过从两个表中进行选择,您可以加入它们,但您必须指定它们的连接方式.SELECT之后的部分告诉您想要的输出.FROM显示涉及哪些表(这些表的各部分是否显示在输出中).默认情况下,如果您为它提供两个表,则会创建第一个表中的一行和第二个表中的一个的所有可能组合,因此您需要WHERE子句中的条件,该条件将其缩小到仅匹配学生的行表与具有匹配id的classes表中的相应行.无论是否定义了外键关系,这都有效.
如果您有WHERE子句的其他条件,则可以使用AND添加它.例如:
WHERE students._id=classes.student AND classes.classname="Underwater Basket Weaving"
Run Code Online (Sandbox Code Playgroud)
有一个关于设置和使用Android中的SQLite数据库(其中大部分你已经似乎明白)的整个过程一个很好的教程在这里.
| 归档时间: |
|
| 查看次数: |
9772 次 |
| 最近记录: |