2016-09-07 5 views
-1

私はMS Accessでいくつかのクエリをモデリングしていますので、それらを私のAndroidアプリに翻訳する前に、私が望むものとその必要性を示すようにしています。SQLite/Androidのクエリのクエリ

しかし、私の結果では最終結果を得るために2つのクエリが必要です。つまり、1つのクエリで複数の結合を行い、次に2番目のクエリで最初のクエリをいくつかの追加テーブルに結合します。私がそれらを組み合わせることができれば、私は方法を見ていないだろう。

とにかく、これを効率的に行う方法がSQLiteにありますか?

EDIT:例:私はあなたが簡単にこれら二つを組み合わせた、しかし、のは、彼らが十分に複雑だったふりをさせることができ、この場合に知って

Customers Table: ID, CustName 
Orders Table: ID, CustID, ItemID 
Items Table: ID, ItemName 

Query1: SELECT Orders.ID AS OrderID, Orders.CustID, Orders.ItemID, Customers.CustName 
FROM Orders LEFT JOIN Customers ON Orders.CustID = Customers.ID; 

Query2: SELECT Query1.OrderID, Query1.CustID, Query1.ItemID, Query1.CustName, Items.ItemName 
FROM Query1 LEFT JOIN Items ON Query1.ItemID = Items.ID; 

は、あなたがそれらを別々に保管しなければなりませんでした。私はQuery2の結果を私のAndroidアプリ(SQLiteを使用しています)に取得する方法を欲しています。かかわらず、それがどのように複雑で、FROM句別のクエリの中でサブクエリとして使用することができます

+1

...? –

+0

彼らの話は聞こえますが、その内容や使用方法が分かりません。 –

+0

必要なクエリの例を挙げることができますか?または、少なくとも、テーブルスキーマとデータベースから必要なデータを説明してください。 –

答えて

-1

すべてのクエリ、:とにかく

SELECT ... FROM (SELECT ...) AS Query1 JOIN ...; 

CREATE VIEWが正確に何をしたいのように聞こえる:

CREATE VIEWコマンドは、パッケージ化されたSELECTステートメントに名前を割り当てます。ビューを作成したら、テーブル名の代わりに別のSELECTのFROM句で使用できます。これまで `Views`のことを聞いた

CREATE VIEW Query1 AS 
SELECT Orders.ID AS OrderID, 
     Orders.CustID, 
     Orders.ItemID, 
     Customers.CustName 
FROM Orders 
LEFT JOIN Customers ON Orders.CustID = Customers.ID; 
+0

Java/Android/SQLiteOpenHelperのコンテキストでこれをどうすればできますか? –

+0

他のステートメントを実行するのと同じように、このステートメントを実行します。 –

+0

したがって、私は 'db.rawQuery(" CREATE VIEW Query1 AS(SELECT Order.ID AS OrderID、Orders.CustID、Orders.ItemID、Customers.CustName からOrders.CustID = Customers.ID上のLEFT JOIN顧客からSELECT; ");'次にdb.rawQuery( "SELECT Query1.OrderID、Query1.CustID、Query1.ItemID、Query1.CustName、Items。ItemName From Query1 LEFT JOIN Items ON Query1.ItemID = Items.ID; ");'? –