2015-03-02 76 views
-4

我有一個android數據庫(sqlite的)在幾個表內。 現在我想用查詢返回記錄; 我的單表查詢:如何選擇多個表與查詢

Cursor c = db.rawQuery("SELECT * FROM Table1;", null); 
+1

你知道SQL嗎? ...你可以使用'select * from table1,table2',但我很確定它不是你想要的(你的問題不清楚) – Selvin 2015-03-02 19:31:05

+0

你的意思是一次?他們有什麼共同之處,比如來自'Table2'的'Table1'''的外鍵說'table1_id'? – TooTiredToDrink 2015-03-02 19:31:54

+1

我想他想加入 – TooTiredToDrink 2015-03-02 19:32:14

回答

2

如果你的三個表具有相同的列,你可以這樣做:

SELECT col1, col2, col3, col4 
    FROM table1 
UNION ALL 
SELECT col1, col2, col3, col4 
    FROM table2 
UNION ALL 
SELECT col1, col2, col3, col4 
    FROM table3 

每個SELECT語句可以有一個WHERE條款。但是,如果上述內容真的是你想要的,那麼很有可能你的數據庫模式可以通過將所有三個表合併爲一個並添加一列來確定它們所屬的位置。

+0

我的3個表格有不同的列 – user3404171 2015-03-02 19:50:47

+1

然後您可以添加缺失的列。即:'...,NULL作爲col2,...'(或者像** ** **或** 0 **這樣的默認值,取決於缺失列的類型) – 2015-03-03 09:05:48

+1

是的,@DerGolem說的是什麼! – 323go 2015-03-03 14:59:11