[英]Pull result only for missing data
我有一個表格,可以在其中顯示 DB 的結果,然后您可以將其中的一些數據添加到 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
當您使用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");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.