基於值的數據我有朋友的詞典列表結構如下的Python/MySQL的得到表在字典中
friendships = [{'name1': 'Joe Bloggs', 'name2': 'Jane Bloggs'},
{'name1': 'Joe Bloggs', 'name2': 'Jan Doe'},
{'name1': 'Another Name', 'name2': 'Someone Else'}]
我有叫People
與每個人一個MySQL表。該表的結構是
id, name
例如,
1 Joe Bloggs
2 Jane Bloggs
3 Jan Doe
4 Another Name
5 Someone Else
我想寫一個SQL查詢,這將讓我從表中的朋友的ID類似的結構,我在一開始有例如
friendship_ids = [{'id1': '1', 'id2': '2'},
{'id1': '1', 'id2': '3'},
{'id1': '4', 'id2': '5'}]
我目前做到這一點通過每一行中friendships
循環和獲取ID的方式,但該列表是相當大,因此想用1個查詢做到這一點。
friendship_ids = []
for f in friendships
cur.execute("SELECT (SELECT id FROM Person WHERE name = '%s') AS id1, (SELECT id FROM Person WHERE name = '%s') AS id2" % (f.name1, f.name2))
d = cur.fetchone()
friendship_ids.append(d)
我不知道你的意思。你能澄清嗎?是這樣的:'從人'選擇id,將gett你所有的id:s。 – 2012-01-05 14:52:03
爲什麼不在數據庫中創建名爲'Friendships'的第二個表,並將友情數據添加到它中,而不是將Python數據結構與關係存儲混合? – 2012-01-05 14:52:48
這似乎更適合Django,即使你沒有將它用於Web應用程序。 – Edwin 2012-01-05 14:58:06