我需要做一個PDO語句,交叉引用3個表,它似乎我卡住了。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列都是相同的,但區別在於第1個表中存在常規聯繫人,並且在第2個聯繫人中存在被阻止的聯繫人。這可以是第一張桌子上的聯繫人,但是如果它也在第二張桌面上,那麼它會被封鎖(所以人工智能無法發送給他們郵件,這就是實際上對我來說阻塞的意思)。 –
如果您需要查詢幫助,您將不得不發佈相關表格信息以及期望的結果。另外,編輯您的問題以迴應評論。 – thatidiotguy