gpt4 book ai didi

mysql - 比较同一张表中的两个元素并返回差异/缺失数据

转载 作者:行者123 更新时间:2023-11-30 21:31:48 25 4
gpt4 key购买 nike

如何比较同一张表中的两个 ID 并获取差异/缺失数据?

我有当前产品 ($current_id) 的表格,其中我显示来自 X 产品 ($id) 的数据。

数据看起来像:name1 name2 name3

然后您可以选择为当前产品 ($current_id) 插入一些数据(例如:name1 name2)

你在 oc_product_option_value 中有 2 条记录(oc_option_value_description 保存名称,oc_product_option_value 保存 id 等等)

$id 数据 = 姓名 1 姓名 2 姓名 3

$current_id 数据 = name1 name2

如果您回到当前产品 ($current_id) 并且提取相同的 X 产品数据 ($id),则必须仅显示 data = name3

如何比较得到这个结果?

public function getInfo($id, $current_id){

$query = $this->db->query("SELECT
oc_product_option_value.*,
oc_option_value_description.name
oc_product_option_value
LEFT JOIN oc_option_value_description ON (oc_product_option_value.option_value_id = oc_option_value_description.option_value_id)
WHERE product_id = '" . $id . "'");

}

最佳答案

我用额外的查询和小的 php 代码完成了这项工作,没有找到不用 php 就可以用一个查询完成整个事情的方法

$masterProduct = $this->model_catalog_product->getMatrakOptionsMasterProduct($id);
$currentProduct = $this->model_catalog_product->getMatrakOptionsCurrentProduct($current_id);

$data['options'] = array();
$current = array_column($currentProduct, 'name');
foreach($masterProduct as $value){
if(!in_array($value['name'], $current)){
$data['options'][] = $value;
}
}

和两个查询

public function getMatrakOptionsMasterProduct($id){
$query = $this->db->query("SELECT
oc_product_option_value.*,
oc_option_value_description.name
FROM oc_product_option_value
LEFT JOIN oc_option_value_description ON (oc_product_option_value.option_value_id = oc_option_value_description.option_value_id)
WHERE product_id = '" . $id . "'");
}


public function getMatrakOptionsCurrentProduct($current_id){
$query = $this->db->query("SELECT
oc_product_option_value.*,
oc_option_value_description.name
FROM oc_product_option_value
LEFT JOIN oc_option_value_description ON (oc_product_option_value.option_value_id = oc_option_value_description.option_value_id)
WHERE product_id = '" . $current_id . "'");
}

关于mysql - 比较同一张表中的两个元素并返回差异/缺失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55806861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com