簡體   English   中英

僅針對缺失數據提取結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM