我用内部联接连接两个表,其中我们有两个表的列在一个表的相同ID主键上,而在另一个表的外键列上。我怎么只获得那些与人名字相同的记录。
public Cursor getMedical() {
String tables = "SELECT medical.m_id, profiles.name, medical.treatdate,
medical.medicine, medical.diagnosis FROM profiles INNER JOIN
medical ON id = id2 where name = ?";
return mDB.rawQuery(tables,null);
}
答案 0 :(得分:0)
您必须将名称作为参数传递。
您可以将方法更改为此:
public Cursor getMedical(String name) {
String tables = "SELECT medical.m_id, profiles.name, medical.treatdate,
medical.medicine, medical.diagnosis FROM profiles INNER JOIN
medical ON id = id2 where name = ?";
return mDB.rawQuery(tables, new String[] {name});
}
方法name
的参数getMedical()
将作为参数传递给rawQuery()
方法。
现在您可以调用该方法:
Cursor c = getMedical("Bob");
Cursor
c
现在包含列name
中名称为"Bob"
的所有行。