В настоящее время я работаю над некоторыми унаследованными системами, и я наткнулся на кусок SQL написано вот так:Пожалуйста, объясните SQL присоединиться
SELECT
cel.id,
cel.campaign_id,
cel.campaign_name,
cel.campaign_message_type,
cel.responsible_user_id,
cel.responsible_user_full_name,
cel.person_id,
cel.email_template_id,
cel.email_message_subject,
cel.recipient_list_name,
cel.first_name,
cel.last_name,
cel.email_address,
b.message_content_html email_message_content_html,
b.message_content_text email_message_content_text,
b.course_presentation_id,
cp.phone_mobile
FROM
campaigns_email_logs cel
LEFT JOIN contacts_people cp ON
(cel.person_id = c.id),
campaigns_email b
WHERE
cel.campaign_id = b.id and
cel.status = 'queued' and
cel.datetime_start < now() and
cel.datetime_end > now() and
b.paused = 'no'
order by
{$campaignMessagesToSendOrdering};
Пожалуйста, вы можете объяснить то, что LEFT JOIN campaigns_email делает? Выполняет ли это перекрестное соединение на контактах_people? Для меня это можно быстро понять, если кто-нибудь, пожалуйста, перепишет его без, campaign_email.
Я знаю, что вы можете иметь несколько таблиц в своем предложении from, но я никогда не видел его так.
Спасибо.
Здесь никто не будет делать вашу работу за вас, здесь люди помогут вам найти решения проблем, которые вы пытались решить. По крайней мере, проверьте Dokumentation перед тем, как обратиться за помощью [Join Doku MySql] (http://dev.mysql.com/doc/refman/5.1/de/join.html) –
@winner_joiner, где в вопросе он просит вас сделать его работа для него? – jerdiggity
'любой, пожалуйста, перепишите его без, campaign_email.' - переписывание запроса без этого соединения означает не более чем удаление этого из запроса:', campaign_email b' – AD7six