2017-04-05 40 views
0

我希望有一個代碼,在兩列搜索數值在兩個不同的SQL表,使用SQL在兩個不同的表中搜索兩列中的值?

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

什麼是「拖」表?什麼是「拖」列? –

+0

如果Tow是兩個,爲了兩個表使用SQL Join,並且爲Tow列使用Where子句 –

回答

0

假設您要求SQL語句,您只需要使用兩個表中的select而不是一個。要將所有內容保存在單個語句中,可以使用UNION,如所述。這裏:https://www.w3schools.com/sql/sql_union.asp

讓我們假設你有第二個表,名爲與電話領域的朋友也在那裏。

那麼,你的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進行搜索,然後從腳本中展示您的輸出。

相關問題