2017-04-05 12 views
0

私は(参加者)テーブルの上での検索ここでSQLを使用して2つの異なるテーブルの2つの列の値を検索しますか?

a = raw_input('Enter name here') 
cur.execute('SELECT phone FROM participants') 
b = cur.fetchall() 
if a in b: 
    print "The name is already exist" 

、コードは、2つの異なるSQL表の2列の値を検索します。 2つのテーブルを検索するにはどうすればよいですか?

+2

"トウ"テーブルとは何ですか? 「トウ」列とは何ですか? –

+0

トウが2の場合、トウテーブル用SQL結合、トウ列用Where句 –

答えて

0

SQL文を要求していると仮定すると、1つではなく2つのテーブルからselectを使用する必要があります。すべてを単一のステートメントで保持するには、たとえばUNIONを使用することができます。ここに:https://www.w3schools.com/sql/sql_union.asp

電話欄のある友人という名前の2番目のテーブルがあるとします。

次に、あなたのSQLは次のようになります。

SELECT phone FROM participants where name = <input name here> 
UNION 
SELECT phone FROM friends where name = <input name here> 

これはあなたのケースのために関連性がある場合は、最後に並べ替えを追加することができます。 これは、あなたもこのように、句を追加「または」により、各テーブルに複数の列を検索することができます。もちろん

SELECT phone FROM participants where name = <your input here> or lastname = <your input here> 
UNION 
SELECT phone FROM friends where name = <your input here> or lastname = <your input here> 

、あなたは適切な検索文字列で置き換える必要があります。 あなたが提供したコードは何も検索していません。テーブルからすべての電話機を "b"変数にダンプするだけです。特にテーブルが大きくなると非常に効率が悪くなります。私は強くSQLから検索し、あなたの出力をスクリプトから提示することを強くお勧めします。

関連する問題