2017-01-27 18 views
3

私はpythonとsqlite3を使用しています。 | コルA:PythonとSqlite3 - サブセット1つのテーブルが2つの他のテーブルで結合する

表1: コルA

表2、私は3つのテーブルを持っていますコルB

表3: コルB

は、私はこれを行うにはどうすればよい表3からの行を一致している。表2から表1の最初の500Kの行と一致するすべての行をしたいですか?私はこの

conn = sqlite3.connect('database.sqlite') 

     conn.execute('SELECT * FROM Table1 LIMIT 500000 AS sample 
     LEFT JOIN Table2 
     ON sample.A = Table2.A 
     LEFT JOIN Table3 ON table2.B = Table3.B') 

のようなものを考えていた。しかし、私はこのエラーを取得する:OperationalError: near "AS": syntax error

結果は、すべての3つのテーブルで見つかったすべての列と行の500kでなければなりません。 私の言葉のいずれかが理解しにくい場合はお詫び申し上げます。

+0

あなたは右の最初のことを行い、その結果を参照してください。あなたが実際に何をしたいのか

は次のように、最も可能性の高いサブクエリです。私の意見では、左の結合も機能しなければならない。しかし、あなたとの比較や結合を行う共通のファイルや属性があることを確認してください。 – webDev

+0

あなたの試行であなたのエラーや望ましくない結果は何ですか? – Parfait

+0

これは私が得るものです:OperationalError: "AS"の近く:構文エラー – jakko

答えて

2

@furasが言ったように、LIMITは完全なステートメントの最後にある必要があります。

SELECT * FROM (SELECT * FROM Table1 LIMIT 500000) AS sample 
    LEFT JOIN Table2 
    ON sample.A = Table2.A 
    LEFT JOIN Table3 ON table2.B = Table3.B 
関連する問題