0

4つのテーブルを組み合わせた結果が欲しい。以前は 4 つの異なるクエリを使用していましたが、パフォーマンスを向上させるために、テーブルを結合して単一のテーブルからクエリを実行することから始めました。しかし、パフォーマンスの向上はありませんでした。

後で、SQLite が結合ステートメントを「where 句」に変換し、結合の代わりに「Where」句を直接使用して CPU 時間を節約できることを知りました。

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

4

1 に答える 1

0

LEFT OUTER JOIN の使用を検討しましたか?

例えば

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

この例では、「catalogsales」に一致する行がない場合でも、「左側」のテーブル (この場合は「Customers」) からデータが返されます。

SQL の例がなければ、何を試したかを知るのは困難です。

于 2012-08-13T05:52:52.600 に答える