簡體   English   中英

如何在sqlite android中聯接兩個表?

[英]How to join two tables in sqlite android?

我有兩個表,一個在旅行,另一個在這兩個表中被調用,我有一個基於該ID的公共字段事件ID,需要獲取兩個表值,我該怎么做。 現在讓我詳細解釋我的問題

這是我的旅行表:

ID  INCIDENT_ID Lat  Long   Time
--  ----------- ---  ----   -----
1     2         13.2 13.5   13456 

這是我的通話表:

ID  INCIDENT_ID  DESC   START    END 
--  -----------  ----   -----    ---
1       2         test   23      33

現在到目前為止,如何連接這兩個表是我嘗試過的查詢:

  String visitquery = "SELECT   " +  VisitModel.INCIDENT_ID + ","  +  VisitModel.DESC +  " ,"  + VisitModel.Visit_START + " ," + VisitModel.Visit_END  + " , "+ VisitModel.Visit_TRAVELAT  +  " , " +  VisitModel.Visit_TRAVEL_LONG + " FROM " + VisitModel.CALL_TABLE + " LEFT OUTTER JOIN " + VisitModel.Visit_TravelTable
                + " ON " + VisitModel.Visit_IncidentID  + " = " + VisitModel.Visit_TravelIncidentID
                + " WHERE " + VisitModel.Visit_IncidentID + " = " +  id;

沒有從旅行表中獲取結果如何實現這一點還有其他方法。

VisitModel.Visit_IncidentID和VisitModel.Visit_TravelIncidentID的字符串值是什么?

請注意,兩個表中的列名相同。 打印此查詢並檢查是否沒有類似的內容

    ...ON INCIDENT_ID = INCIDENT_ID ...

更新

如果需要所有字段,請嘗試使用此查詢,

"SELECT * FROM travel JOIN call ON travel.ID= call.ID"

如果您需要特定的列

"SELECT travel.Lat,call.START FROM travel JOIN call ON travel.ID= call.ID"

如果您需要ID

 "SELECT travel.Lat,call.START FROM travel JOIN call ON travel.ID= call.ID WHERE travel.ID='"+id_value+"'";

 "SELECT travel.Lat,call.START FROM travel JOIN call ON travel.ID= call.ID WHERE travel.ID='12345'";

這將可以正常工作。travel和call是兩個不同的表名稱*。

干得好。 這是有關聯接基本知識,以及如何使用rawQuery在您的應用程序中完成聯接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM