2012-12-17 22 views
0

我有一個獨特的名稱列表,我使用下面的代碼從sqlite數據庫中提取:使用python使用一個sql表中的名稱來查找另一個數據中的數據,然後將名稱和數據組合成一個html表

connection = sqlite3.connect('database.sqlite') 
connection.text_factory = str 
c = connection.cursor() 
c.execute ('SELECT Name FROM Table WHERE Description LIKE ?', [term]) 
my_object = [] 
for name in c: 
    my_object.append(name) 
return my_object 

我想使用這個唯一名稱列表來查看同一個數據庫中的另一個表,並提取出四個值。即 - 'SELECT value1,value2,value3,value4 FROM Table2 WHERE Name LIKE _ __'其中空白將是我列表中的每個值。這是我真的需要幫助的部分

然後,我想製作一個HTML表格,第一列中的名稱和後續值中的所有對應值(我知道HTML,但不知道如何所有這一切使用python)。如果我可以單獨提取每個值,我想我可以使用zip將它們組合起來並循環遍歷表格,但是我希望儘可能在儘可能少的步驟中完成。

我希望我很清楚。

回答

0

您可以修改您的SQL,以便提取出類似於特定描述的名稱,然後從table2中爲這些匹配的名稱輸出值。

select name, value1, value2, value3, value4 
from table2 
where name in (
    select name 
    from table1 
    where description like ? 
) 
+0

我不知道你可以像這樣嵌套sql。工作,並肯定幫助到目前爲止,但是當我在括號中運行查詢時,我得到了很多匹配,當我運行它在一起,我只是得到第一場比賽。我希望它返回名稱,在結果括號清單中的每個名稱的值爲1-4 – user1714887

+0

@ user1714887您獲得的結果是table1中的名稱存在於table1的查詢中的位置...我拿它你期待更大的人口? (你可以看看你的數據,並檢查是這種情況...)(從子查詢中取出一些名稱,並在table2中查找它們以確認它們存在/不) –

+0

因此事實證明,我用過喜歡,而不是你建議的地方。謝謝你的幫助。 – user1714887

相關問題