В настоящее время у меня есть SQL, который должен возвращать 3 строки данных, но возвращает 6 (три строки повторяются дважды).
Я считаю, что это связано с моим синтаксисом и вы хотите попытаться построить запрос, используя базовые соединения, в настоящее время SQL выглядит так:
`function getMultiContentById($id) {
$query = "SELECT
FROM `mailers`
LEFT JOIN `mailer_content` ON `mailers`.`id` = `mailer_content`.`mailer_id`
LEFT JOIN `mailer_images` ON `mailer_content`.`id` = `mailer_images`.`content_id`
WHERE `mailers`.`id` = $id"
$result = runSelectArray($query, __FUNCTION__);
return $result;
}`
Я хочу использовать что-то вроде этого
`WHERE `mailer_content`.id = `mailers.id`
Просто измените LEFT на INNER на первое соединение, как в
$query = "SELECT
FROM `mailers`
INNER JOIN `mailer_content` ON `mailers`.`id` = `mailer_content`.`mailer_id`
LEFT JOIN `mailer_images` ON `mailer_content`.`id` = `mailer_images`.`content_id`
WHERE `mailers`.`id` = $id"
$result = runSelectArray($query, __FUNCTION__);
return $result;
Поделитесь и наслаждайтесь.