2014-09-03 2 views
0

У меня есть две таблицы:MySql выбрать из двух таблиц Постулаты

пользователей:

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

использовать 'left join' –

+0

' ... где users.id = details.userId и (users.name = 'Jorden' OR users.isSpecial = 1) ' – JimmyB

ответ

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 будет служить вашей цели.

ВЫБРАТЬ uObj.ID, uObj.Name, DObj.country, DObj.zipcode от пользователей uObj LEFT JOIN Подробности DObj ON uObj.ID = DObj.userID WHERE uObj.name = 'Jorden' ИЛИ uObj.isSpecial = 1 ;

Пожалуйста, перейдите по ссылке ниже

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

Надеется, что это помогает вам.

Смежные вопросы