MySQL Python объединить результаты - PullRequest
3 голосов
/ 14 сентября 2011

пытается написать следующее на python более элегантно ... с точки зрения mysql. Вы заметите, что я пытаюсь объединить результаты в одной таблице на основе записей в другой. Какой правильный, чистый, разумный в отрасли способ написания такого SQL-запроса?

По сути, я хотел бы сказать следующее ... "выбрать все URL из таблицы URL, которые принадлежат какой-либо группе сайтов, в таблице сайтов"

Спасибо!

site = sys.argv[0]
checksanity (log,site) #check syntax, etc

log.info ("Running site %s", site)
cursor = conn.cursor ()

#get siteid
query = "SELECT sites.id from sites WHERE sitename LIKE '" + site + "'"
cursor.execute (query)
siteidlong = cursor.fetchone()
siteid = str(siteidlong[0])

query = "SELECT search_for,urls.url FROM urls WHERE site_id LIKE '" + siteid + "'"
print query
cursor.execute (query)
resultstring = cursor.fetchall()
print resultstring

cursor.close ()
conn.close ()

1 Ответ

4 голосов
/ 14 сентября 2011

Добро пожаловать в SQL.Теперь, когда вы написали два запроса, пришло время узнать о JOIN и внедрении SQL.

select *
from urls, sites
where urls.site_id = sites.id
and sitename like ?

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...