3 개의 테이블을 상호 참조하는 PDO 문이 필요하다.mysql 쿼리 - 3 테이블 - 제대로 처리 할 수 없다.
그것은 기본적으로 2 개 테이블 (myl_contacts 및 mya_users) 그들이 myl_blocked_contacts에 나열 할 필요가 없습니다에서 4 기록이 필요합니다.
myl_blocked_contacts는 차단 된 id 및 contact_type ('a', 'l', 'x'등)이있는 행으로, 차단되어 있지 않은 myl_contacts 사용자 중에서 선택해야합니다. myl_blocked 연락처에 없습니다).
여기까지 필자가 수행 한 PDO :: mysql 쿼리가 있습니다. 나는 여기에서 어디로 가야할지 모르지만, 나는 그물에서 많은 것을 시도하고있다. 그러나 나는 어떻게 든 잘못된 방향으로가는 것처럼 보인다. 감사!
$query = "SELECT myl_contacts.contact_id, mya_users.name, mya_users.city, mya_users.ext
from myl_contacts, mya_users,
LEFT JOIN myl_blocked_contacts
WHERE myl_contacts.contact_type='a'
AND myl_contacts.label_id=:id
AND (myl_blocked_contacts.contact_type!='a'
AND myl_blocked_contacts.contact_id!=mya_users.id)
";
$result = $db->prepare($query);
$result->bindValue(':id', $_id, PDO::PARAM_INT);
$result->execute();
정확히 무엇이 문제입니까? – thatidiotguy
* 쪽지 - myl_contacts 및 myl_blocked 연락처 모두 4 개의 열을 가지고 동일하지만 차이점은 첫 번째 테이블에는 정상적인 연락처가 있고 두 번째에는 차단 된 연락처가 있다는 것입니다. 첫 번째 테이블의 연락처가 될 수 있지만 두 번째 테이블에있는 경우 차단됩니다 (그래서 ppl이 메일을 보낼 수 없기 때문에 실제로 차단 된 것입니다). –
쿼리에 도움이 필요하면 관련 테이블 정보와 원하는 결과를 게시해야합니다. 또한 질문을 편집하여 의견에 응답하십시오. – thatidiotguy