2014-09-03 79 views
0

我有兩個表:MySql的選擇兩個表statment

用戶:

id  name  isSpecial 
1   Tal  1 
2   Jorden  0 
3   John  1 
4   Paige  0 

詳情:

id  userId  Country  zipCode 
1   1   Israel  4564 
2   3   US   554654 

我想Jorden的名義來獲取用戶的所有數據或者如果isSpecial是1將如此顯示

結果:

id  name   Country  zipCode 
1   Tal   Israel  4564 
2   Jorden  
3   John   US   554654 

我知道它應該是一個簡單的查詢,但我不能得到我想要的結果! 任何人都可以幫助我嗎?

+0

use'left join' – 2014-09-03 10:05:14

+0

'... where users.id = details.userId and(users.name ='Jorden'OR users.isSpecial = 1)' – JimmyB 2014-09-03 10:05:29

回答

0

您可以使用LEFT JOIN

SELECT 
    u.id, 
    u.name, 
    u.isSpecial, 
    d.country, 
    d.zipCode 
FROM Users u 
LEFT JOIN Detals d 
ON u.id = d.userId 
WHERE u.name = 'Jorden' 
    OR u.isSpecial = 1 
0

像這樣

SELECT u.id,u.name,d.country,d.zipCode FROM 
Users u 
LEFT outer JOIN Details d 
ON u.id = d.userId 
WHERE u.name = 'Jorden' OR u.isSpecial = '1' 
0

LEFT JOIN將成爲你的目的。

SELECT uObj.ID,uObj.Name,DObj.country,DObj.zipcode FROM用戶uObj LEFT JOIN詳細DOBJ ON uObj.ID = DObj.userID WHERE uObj.name = 'Jorden' OR uObj.isSpecial = 1 ;

請通過鏈接下面去

http://www.w3schools.com/sql/sql_join_left.asp

希望這有助於你出去。