拉结果仅用于丢失数据

时间:2019-02-13 09:59:54

标签: mysql sql join select mysqli

我有一个显示数据库结果的起始位置,然后您可以将其中一些数据添加到DB中。我的问题是如何仅检查/显示仍未添加到数据库中的数据?

我获取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 :(得分:1)

在将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的值将为{{1 }}。因此,您可以添加:

NULL

根据您的AND oc_ekstri_frontend_view.ekstri_id IS NULL 条件查找这些行,即

WHERE