2012-04-30 7 views
0

4つのテーブルを組み合わせて結果が必要です。以前は4つの異なるクエリを使用しており、パフォーマンスを向上させるために、テーブルへの参加とシングルテーブルからのクエリが開始されました。しかし、パフォーマンスの改善はありませんでした。SQLite3データベースクエリの最適化

私は後でSQLiteがjoin文を "where節"に変換し、joinの代わりに "where"節を使用してCPU時間を節約できることを学びました。

しかし、Where句の問題は、4つのうち1つの条件が失敗した場合、結果セットはnullです。ある条件が満たされない場合、空のテーブルではなく、残りの列(他の条件と一致する)が入ったテーブルを埋めたい。これを達成する方法はありますか?ありがとう!

+0

SQLステートメントと、おそらく4つのテーブルのスキーマを投稿できますか? –

答えて

0

LEFT OUTER JOINを使用したことはありますか?本実施例で

SELECT Customers.AcctNumber, Customers.Custname, catalogsales.InvoiceNo 
FROM Customers 
LEFT OUTER JOIN catalogsales ON Customers.Acctnumber = catalogsales.AcctNumber 

ため

「catalogsales」、それはまだここでは「顧客」が「左」テーブルからデータが返されるの任意の一致する行がない場合

SQLの例がないと、あなたが試したことを知ることが難しいです。