2017-04-05 49 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进行搜索,然后从脚本中展示您的输出。

相关问题