2016-07-26 2 views
0

콘텐츠 공급자를 사용하여 sqlite에 데이터를 저장하고 커서 어댑터를 사용하여 목록 뷰에 데이터를 표시합니다. I가 표 3SQLiteQueryBuilder와 다중 조인

1) Leads- [_id 이름, ...]

2) LeadsAttachment- [_id, 형식 LeadId .... (LeadId은 FK은 _id하는 PK 의 오퍼 테이블)

3) LeadsProduct- [_id, PNAME, LeadId .... (LeadId은 FK은

지금 uptill

제가 리드와 LeadsAttachment 간의 조인 왼쪽 된 수행 하였다) 리드 테이블의 PK를 _id하는 이런 식의 SQLQueryBuilder 사용하기

SQLiteQueryBuilder leadsWithAttachmentQueryBuilder = new SQLiteQueryBuilder(); 
leadsWithAttachmentQueryBuilder.setTables(
      MBenzContracts.LeadsEntry.TABLE_NAME + " LEFT JOIN " + 
        MBenzContracts.LeadAttachmentEntry.TABLE_NAME + 
        " ON " + MBenzContracts.LeadAttachmentEntry.TABLE_NAME + 
        "." + MBenzContracts.LeadAttachmentEntry.COLUMN_Lead_ID + 
        " = " + MBenzContracts.LeadsEntry.TABLE_NAME + 
        "." + MBenzContracts.LeadsEntry._ID); 
내가 LeadsAttachment와 LeadsProduct

와 함께 리드에서 모든 레코드를 얻을 수 있도록 내가이 왼쪽을 수행하는 방법

답변

0

은 매우 간단

leadsWithProductAndAttachmentQueryBuilder.setTables(
      MBenzContracts.LeadsEntry.TABLE_NAME + " LEFT JOIN " + 
        MBenzContracts.LeadProductEntry.TABLE_NAME + 
        " ON " + MBenzContracts.LeadProductEntry.TABLE_NAME + 
        "." + MBenzContracts.LeadProductEntry.COLUMN_Lead_ID + 
        " = " + MBenzContracts.LeadsEntry.TABLE_NAME + 
        "." + MBenzContracts.LeadsEntry._ID + " LEFT JOIN " + 
        MBenzContracts.LeadAttachmentEntry.TABLE_NAME + 
        " ON " + MBenzContracts.LeadAttachmentEntry.TABLE_NAME + 
        "." + MBenzContracts.LeadAttachmentEntry.COLUMN_Lead_ID + 
        " = " + MBenzContracts.LeadsEntry.TABLE_NAME + 
        "." + MBenzContracts.LeadsEntry._ID); 
을 파악 SQLiteQueryBuilder 함께 조인