DB browser for SQLite でSQLを実行すると問題なく結果が返ってきますが、
python上で実行すると「near "(": syntax errornear "(": syntax error」エラーが発生します。
「select * from test ~ 」のようなものだとpython上でも返ってきます。
なぜPython上ではうまくいかないのでしょうか。
sqlite3:3.7.17←NG
SQlite:3.27.2←OK
python
1 #!/usr/bin/python3 2 # -*- coding: utf-8 -*- 3 import sqlite3 4 5 connection = sqlite3.connect("DBパス") 6 cursor = connection.cursor() 7 res = cursor.execute(SQL)
SQL
1 2SELECT * FROM 3 ( SELECT *,rank() over( partition by doc_id order by doc_id asc ,CASE country WHEN 'JP' then 1 when 'US' then 2 else 3 END) FROM test 4 WHERE doc_id IN ('0001' , '0002' ) 5 ORDER BY doc_id asc ) 6 WHERE rank = 1
testテーブル
country | doc_id | |
---|---|---|
JP | 0001 | |
US | 0001 | |
JP | 0003 | |
US | 0002 | |
CN | 0001 | |
JP | 0003 | |
CN | 0002 |
回答3件
あなたの回答
tips
プレビュー