私はSQLを勉強していますが、これは繰り返しですが謝罪していますが、検索して答えが見つかりませんでした。 PostgreSQL DBを使ってPythonで書く。値のPostgreSQLのテーブルの列をチェックしてブール値を返します
"ポート"列に特定の場所が含まれているかどうかを確認するには、データベースのテーブルをチェックします。私は対話的にこれを行うことができますが、それは例えば、テーブルの結果を返します:
select exists(select 1 from ref_locations where "Port"='ORAN');
それが返されます。
exists
-------
t
(1 row)
...私はそれだけでブール値を返すようにしたい、と私はやってみたいですそれは私のpythonスクリプトです。私のPythonスクリプトでは、私は持っています:
exists = False
cnx.execute("""select exists(select 1 from ref_locations where "Port"='BAKU');""")
print "Exists: ",exists
しかし、常に存在するFalse。どんな助けでも大歓迎です。
'印刷 "が存在する:"、あなたは変数が結果によって変更されない存在exists'クエリ。クエリから結果を取得し、それを変数に割り当てる必要があります。 'exists = cnx.get_result();'のようにカーソルに関数があります。 – wildplasser
ありがとう!素晴らしい答え。そして、少なくとも私がこの作業を進めている中で、私は自分の "Port"テーブルに多くの言葉をテストしているので、実際にはテーブルをハッシュまたはパンダテーブルに読み込むほうが速いことに気付きました。毎回データベースに照会してください。 – Callie