2012-04-06 4 views
0

У меня есть три таблицыКак получить запись для этого конкретного случая?

Person (id, name, email) 
Address (id, Person_id, address, verified) 
Person_Claimed (id, Person_id, name, email) 

Добавляют записи в отношении лица и адрес таблицу вручную. Когда кто-то видит его/ее профиль онлайн, он/она утверждал свой профиль, и запись создается в Person_Claimed Table.

Теперь я хочу получить записи о лицах, которые не заявили о своих профилях, а также их адреса не подтверждены.

Как присоединиться эти таблицы

Благодаря

ответ

2

Предполагая verified не равно нулю и 0 означает "не подтвержденного

SELECT p.* 
FROM Person p 
INNER JOIN Address a ON (a.Person_id = p.id) 
LEFT JOIN Person_Claimed pc ON (pc.Person_id = p.id) 
WHERE a.verified =0 AND pc.id IS NULL 

Если человек может иметь несколько не проверять адреса, вы можете добавить GROUP BY p.id (или SELECT DISTINCT вместо SELECT

+0

'pc.id IS NULL' в запросе означает, что человек d oes не существует в таблице Person_Claimed? – Awan

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