2014-01-26 228 views
0

我使用sqlite3的有一個數據庫,名爲 「test.db的」 包含兩個表,登錄和經理SQL查詢select語句

登錄表屬性

_id|username|password|manager_id 

經理表屬性

manager_id|name|role 

manager_id是登錄表的外鍵。 我插入一些值到表

登錄

1|gmJohn|abc|1 
2|gmJane|def|2 

經理

1|john|GM 
2|jane|Staff 

我想查詢的名稱,經理的作用,反對它的用戶名和密碼

爲示例 用戶名:gmJohn,密碼:abc =姓名:john,角色:GM

我嘗試這個查詢

select name,role from login,manager where username="gmJohn" and password="abc"; 

但它返回我這個結果。

john|GM 
jane|Staff 

預期結果

john|GM  
+0

http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html – Mihai

回答

1

您的查詢是不正確的。你不解釋你想要加入哪個領域。

嘗試這樣:

select name, role from manager m inner join login l on l.manager_id = m.manager_id where username="gmJohn" and password="abc"; 
+0

感謝你的幫助 – user3429531