2011-08-15 20 views
2

SQLiteのでは実行されません以下のSQL文に合流します他のすべてのSQL実装で動作します。私は何か間違っているのですか?問題はSQLiteの

+0

私は2つのオプションを持っていますが、どちらもパフォーマンスには非常に良いものではありません:ネストされたSQL式を使用するか、BとCの間に別の左結合を使用します。彼らは実行に多くの時間がかかることが判明しました – stitty

+0

テーブルのスキーマを投稿することは可能でしょうか(サンプルであっても)?それは本当に質問に答えるのに役立つでしょう。 – djhaskin987

+0

このようなサブクエリを使用しようとしていますか? 'select * from A left join(SELECT * FROM B内部結合BfkC = C.pk)subQ on A.optionalfkB = subQ.pk' – Wiseguy

答えて

4

"外側"クエリがBが何であるかわからないため、機能しません。

select * 
from A 
left join (B inner join C on B.fkC = C.pk) B on A.optionalfkB = B.pk 

(B inner join C on B.fkC = C.pk)は、任意のselectずに奇妙ですが、仕様は、それが有効であることを言うん。

+0

あなたは伝説です!ありがとうございました!私はどこにでもこのソリューションを見つけることができず、あなたはそれを釘付けにしました。 – stitty

+2

@stitty質問をして2年後にもこの問題が発生しましたか?ハハ、私が助けることができてうれしい! – Vache