Результат извлечения только для отсутствующих данных - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть, откуда я отображаю результат из БД, чем вы можете добавить некоторые из этих данных в БД.У меня вопрос, как проверить / отобразить только те данные, которые еще не добавлены в БД?

Как я получаю результаты atm

$query = $this->db->query("SELECT oc_ekstri_frontend.*,
                                  oc_ekstri_image.id as img_id,
                                  oc_ekstri_image.name
                                  FROM oc_ekstri_image
LEFT JOIN oc_ekstri_frontend ON (oc_ekstri_frontend.id = oc_ekstri_image.frontend_id)
LEFT JOIN oc_ekstri_frontend_view ON (oc_ekstri_frontend_view.ekstri_id = oc_ekstri_image.id)
                                  WHERE oc_ekstri_frontend.subcat_id = '" . $id . "'");

Чем вы можете добавить некоторые из этих данных в oc_ekstri_frontend_view, каксделай код вот так

AND WHERE oc_ekstri_image.id NOT EXIT IN oc_ekstri_frontend_view.ekstri_id

1 Ответ

0 голосов
/ 13 февраля 2019

Поскольку вы используете LEFT JOIN с

oc_ekstri_frontend_view.ekstri_id = oc_ekstri_image.id

в качестве условия JOIN, если есть случай, когда значение oc_ekstri_image.id не существует в oc_ekstri_frontend_view,значение oc_ekstri_frontend_view.ekstri_id будет NULL.Таким образом, вы можете добавить:

AND oc_ekstri_frontend_view.ekstri_id IS NULL 

к вашему WHERE условию, чтобы найти эти строки, то есть

$query = $this->db->query("SELECT oc_ekstri_frontend.*,
                                  oc_ekstri_image.id as img_id,
                                  oc_ekstri_image.name
                                  FROM oc_ekstri_image
LEFT JOIN oc_ekstri_frontend ON (oc_ekstri_frontend.id = oc_ekstri_image.frontend_id)
LEFT JOIN oc_ekstri_frontend_view ON (oc_ekstri_frontend_view.ekstri_id = oc_ekstri_image.id)
                                  WHERE oc_ekstri_frontend.subcat_id = '" . $id . "'
                                    AND oc_ekstri_frontend_view.ekstri_id IS NULL");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...