如何在SQLite中連接三個表?我有三個表格,一個是Info
,第二個是workForce
,第三個是workDetails
。如何在SQLite中連接三個表?
表信息:id(PK),name,status,date,weather
表的員工:id1(PK), subContractors,noOfPeople,noOfHours
表WorkDetails:id2(PK),project,workDescription,TableInfo_id(FK) //contains multiple row
表信息
ID NAME Weather Date Status
---------- ---------- ---------- ---------- ----------
1 Paul Sunny 15/10 MC
2 Allen Rainy 15/10 Working
表勞動力
個ID1 SubContractors NoOfPeople NoOfHours
---------- -------------- ---------- ----------
1 AAA 2 2
2 BBB 3 1
表WorkDetails
ID2 Project WorkDescription TableInfo_id
---------- ---------- -------------- ----------
1 A B 1
2 1
3 1
4 1
5 C D 2
6 2
7 2
8 2
假定名稱是保,因此,所有與ID 1和TableInfo_id 1行將被檢索。
這裏是我試過到目前爲止
public Cursor readEntry(String name) {
String selectQuery = ("SELECT Weather,Date,Status,SubContractors,NumberOfPeople,NumberOfHours,TimeIn,TimeOut FROM "+TABLE_INFO+TABLE_WORKFORCE+TABLE_WORKDETAILS+ "WHERE Name= ? AND"+ID=ID1+ "AND"+ID=TableInfo_id);
Cursor c = database.query(TABLE_INFO,TABLE_WORKFORCE,TABLE_WORKDETAILS,new String[]{id,name,weather,date,status,iD1,subcontractors,numberOfPerson,numberOfHours,id2project,workDescription,TableInfo_id},MyDatabaseHelper.Name+"=?",
new String[] { String.valueOf(name)}, null, null, null, null,null,null,null,null,null,null,null,null);
if (c != null) {
c.moveToFirst();
}
return c;
}
我的代碼好像不是working..how我能做到這一點?謝謝!
任何建議將不勝感激 – John
似乎有很多問題與您的SQLite查詢。應該嘗試記錄您的查詢並檢查錯誤。 –
我不知道加入這些表..看起來很複雜.. – John