簡體   English   中英

如何加入兩個具有不同 ID 的 Sqlite 表

[英]How to join Two Sqlite table with different ID

當我在我的應用程序中顯示所有存儲的數據時,不同表中的兩個數據的 ID 是相同的。

在此處輸入圖像描述 在此處輸入圖像描述

公共 class DatabaseHelper 擴展 SQLiteOpenHelper {

public static final String DATABASE_NAME = "FOODs.db";
//FOODs Tables name
public static final String TABLE_FOODS = "table_Foods";
public static final String TABLE_DRINKS = "table_Drinks";
public static final String TABLE_MENU = "table_Menu";

//FOODs Table Columns name
private static final String COL_1 = "Primary ID";
private static final String COL_2 = "NAME";
private static final String COL_3 = "PRICE";

public DatabaseHelper(Context context) {
    super(context, DATABASE_NAME, null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
    String CreateTableMains = "CREATE TABLE IF NOT EXISTS " +  TABLE_FOODS + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
            " NAME TEXT, PRICE TEXT)";
    db.execSQL(CreateTableMains);

    String CreateTableDrinks = "CREATE TABLE IF NOT EXISTS " +  TABLE_DRINKS + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
            " NAME TEXT, PRICE TEXT)";
    db.execSQL(CreateTableDrinks);


public Cursor showMenuData(){
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor data = db.rawQuery("SELECT  *,'Food' AS type FROM " + TABLE_FOODS +  " UNION SELECT *, 'Drink' AS type FROM " + TABLE_DRINKS, null);
    return data;
}

創建一個表變量並使用變量調用 id 像..

String q= "SELECT a.id, a.name, b.price FROM table_a a INNER JOIN table_b b ON 
a.id=b.other_id WHERE b.property_id=?";

嘗試以下查詢

SELECT tf.*, td.*  FROM TABLE_FOODS tf LEFT JOIN TABLE_DRINKS td ON (tf.ID = td.ID);

暫無
暫無

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

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