我有兩個表,路線和用戶。每條路由都有一個整數ID,每個用戶都有一個逗號分隔的路由列表,他們可以訪問。我試圖從路由表中選擇那些行,其id位於用戶行的id列表中。sqlite3:我想根據不同表中的ID列表選擇行
查詢(至少我是怎麼想的,應該形成),我嘗試使用是一樣的東西
select *
from routes
where id in (select allowed_ids
from users
where username = 'sameple');
路由表的格式爲
id, name
0, 'test name'
2, 'test name'
3, 'test name'
用戶表格式爲
id, name, username, password, allowed_ids
0, 'name', 'uname', 'md5pw', '0, 3'
問題是,這是行不通的。有沒有更好的方法或做到這一點?
我對SQL很陌生,所以任何幫助都非常感謝!
你的問題是什麼?你使用的是子查詢,它是一個基於來自其他表的值得到來自一個表的結果的有效選項。 – 2014-01-22 21:14:45
您會發現在這裏使用連接會很有用。 – squiguy
@squiguy好吧,怎麼樣? –