sqlb

**************************************************************************************************************************************************************************************

三表查询 

buy work user

其中buy只有3条数据

*************************** 1. row ***************************

 order_id: 1
...
  work_id: 1

...


*************************** 2. row ***************************

 order_id: 2
...
  work_id: 1

...


*************************** 3. row ***************************
 order_id: 3
...
  work_id: 1

...
3 rows in set (0.00 sec)

A:select work.work_id,user.user_id,user.user_name,work.name,work.price,count(*) as count  from work left join user on user.user_id=work.artist_id left join buy on buy.work_id=work.work_id group by work_id;

=select work.work_id,user.user_id,user.user_name,work.name,work.price,count(*) as count  from work left join user on user.user_id=work.artist_id left join buy on buy.work_id=work.work_id group by work.work_id;

列出了所有work 并且 某一个work_id有几个buy的数据 count就为几

-+
|       1 |       2 | 刘域      | 我去                           |   100 |     3 |
|       2 |       2 | 刘域      | 我去                           |   100 |     1 |
|       3 |       2 | 刘域      | 金色花艺                       |   100 |     1 |
|       4 |       2 | 刘域      | 金色花艺                       |   100 |     1 |
|       8 |       2 | 刘域      | 金色花艺                       |   100 |     1 |
|       9 |       2 | 刘域      | 金色花艺                       |   100 |     1 |
|      10 |       2 | 刘域      | 金色花艺                       |   100 |     1 |
|      11 |       2 | 刘域      | 金色花艺                       |   100 |     1 |
|      12 |       2 | 刘域      | 金色花艺                       |   100 |     1 |
|      13 |       2 | 刘域      | 金色花艺                       |   100 |     1 |
|      14 |       2 | 刘域      | 金色花艺                       |   100 |     1 |
|      15 |       2 | 刘域      | 金色花艺                       |   100 |     1 |
|      16 |       2 | 刘域      | 金色花艺                       |   100 |     1 |
|      17 |       2 | 刘域      | 金色花艺                       |   100 |     1 |
|      18 |       2 | 刘域      | 的点点滴滴大大大               |   100 |     1 |
|      20 |       2 | 刘域      | 的点点滴滴大大大               |   100 |     1 |
|      21 |       2 | 刘域      | 的点点滴滴大大大               |   100 |     1 |
|      22 |       2 | 刘域      | 的点点滴滴大大大               |   100 |     1 |
|      23 |       2 | 刘域      | 的点点滴滴大大大               |   100 |     1 |
|      26 |       2 | 刘域      | 的点点滴滴大大大               |   100 |     1 |
|      27 |       2 | 刘域      | 的点点滴滴大大大               |   100 |     1 |
|      29 |       2 | 刘域      | 的点点滴滴大大大               |   100 |     1 |
|      30 |       2 | 刘域      | 的点点滴滴大大大               |   100 |     1 |
|      31 |       2 | 刘域      | 的点点滴滴大大大               |   100 |     1 |
|      32 |       2 | 刘域      | 的点点滴滴大大大               |   100 |     1 |
|      33 |       2 | 刘域      | 的点点滴滴大大大               |   100 |     1 |

..................

B:select work.work_id,user.user_id,user.user_name,work.name,work.price,count(*) as count  from work left join user on user.user_id=work.artist_id left join buy on buy.work_id=work.work_id group by buy.work_id;

|       2 |       2 | 刘域      | 我去   |   100 |    42 |
|       1 |       2 | 刘域      | 我去   |   100 |     3 |

只有两行,分为有buy记录的和有buy记录的work_id=1

group by work.work_id;

以work的work_id为准 每个work为一行

关联的buy个数决定count


group by buy.work_id;

以每个work_id的buy和为一列 一个work_id几个buy决定count

如果没有buy 则没有

但由于left join即使没有任何buy也会有一行数据

(删除三个buy之后 无任何buy执行上述语句

|       1 |       2 | 刘域      | 我去   |   100 |    43 |

全部数据无任何buy 无任何buy的为一组 count为43

**************************************************************************************************************************************************************************************************

SELECT user.photo,user.user_id,user.user_name,count(`order_id`) as a FROM `user` left join `order` on `order`.artist_id=user.user_id  WHERE `user_type` = 1 GROUP BY user_id ORDER BY a desc LIMIT 0,10  ;

每个work_id有多少个order





联合查询最要注意主表 次表之分

可是上面的B查询却是根据group字段来自于哪个表来决定



同样

work只有 

mysql> select * from work;
+---------+--------+
| work_id | author |
+---------+--------+
|       2 |      1 |
|       3 |      1 |
+---------+--------+


mysql> select user_id, user_name,work.author, count(*) from user left join  work on work.author=user.user_id  group by work.author;
+---------+-----------+--------+----------+
| user_id | user_name | author | count(*) |
+---------+-----------+--------+----------+
|       8 | ssss      |   NULL |        1 |
|       1 | ss        |      1 |        2 |
+---------+-----------+--------+----------+


mysql> select author,user_id, user_name, count(*) from user left join  work on work.author=user.user_id  group by user.user_id;
+--------+---------+-----------+----------+
| author | user_id | user_name | count(*) |
+--------+---------+-----------+----------+
|      1 |       1 | ss        |        2 |
|   NULL |       8 | ssss      |        1 |
+--------+---------+-----------+----------+
2 rows in set (0.00 sec)

group不同字段却得到了相同的结果



<?php ini_set('display_errors',1); //错误信息 ini_set('display_startup_errors',1); //php启动错误信息 error_reporting(-1); //打印出所有的 错误信息 header('Content-Type: application/json; charset=utf-8'); require_once dirname(__FILE__)."../../../../../phpspreadsheet/vendor/autoload.php"; require_once "../../../database/DB.class.php"; $date=date("Y-m-d H:i:s",time()+8*60*60); $db = MySQLDB::getInstance(); set_time_limit(0); $project = isset($_POST['project'])?$_POST['project']:@$_GET['project']; $db->beginTransaction(); $total = 0; // 统计总插入条数(解决作用域问题) function convertDateToWeekFormat($date) { // 将输入的字符串转换为 DateTime 对象 $inputDateTime = new DateTime($date); // 获取当前日期是星期几(1 表示星期日,2 表示星期一,以此类推 $weekDay = date('N'); if($weekDay<4){ // 将日期减去4天 $inputDateTime->modify('-7 days'); } // 获取月份缩写 $monthAbbreviation = $inputDateTime->format('M'); // 提取年份最后两位 $yearLastTwoDigits = substr($inputDateTime->format('Y'), -2); // 创建一个时间戳,用于计算第几周(Week) $weekNumber = (int)ceil(($inputDateTime->getTimestamp() - strtotime("{$date} - 1 day")) / (7 * 86400)); // 计算该日期所在的周数(从当年的第一天开始计算) $weekNumber = (int)$inputDateTime->format('W'); // return "{$yearLastTwoDigits}{$monthAbbreviation} wk{$weekNumber}"; return "{$yearLastTwoDigits}wk{$weekNumber}"; } $week=convertDateToWeekFormat($date); // 产能计划计算 function CapactityPlan($db, $project, $module, $col,$week) { $days = "day" . $col; // 改用预处理语句防注入 $sqla = "select `$days` as qty from ctb_capacity where `project` = '$project' and module='$module' and week='$week'"; $resa = $db->fetchRow($sqla); if(empty($resa)){$resa['qty']=0;} $sqlb = "select sum(qty) as qty from openpo_plan where `project` = '$project' and module='$module' and week='$week' and days = '$days'"; $resb = $db->fetchRow($sqlb); if(empty($resb)){$resa['qty']=0;} $qty = ($resa['qty'] ?? 0) - ($resb['qty'] ?? 0); return $qty < 0 ? 0 : $qty; } // eeee库存计算 function eeeeStock($db, $project, $module, $eeee, $col,$week) { $days = "day" . $col; if ($col == 1) { $sqla = "select `$days` as qty from ctb_eeee where `project` = '$project' and module = '$module' and week='$week' and `eeee` like '%$eeee%'"; $resa = $db->fetchRow($sqla); } else { $sumDays = []; for ($i = 1; $i <= $col; $i++) { $sumDays[] = "`day$i`"; } $sumDaysStr = implode('+', $sumDays); $sqla = "select sum($sumDaysStr) as qty from ctb_eeee where `project` = '$project' and module = '$module' and week='$week' and `eeee` like '%$eeee%'"; $resa = $db->fetchRow($sqla); } $sqlb = "select sum(qty) as qty from openpo_plan where `project` = '$project' and module = '$module' and week='$week' and `eeee` like '%$eeee%'"; $resb = $db->fetchRow($sqlb); $qty = ($resa['qty'] ?? 0) - ($resb['qty'] ?? 0); return $qty < 0 ? 0 : $qty; } // Hsg库存计算 function HsgStock($db, $project, $module, $knk, $color_code, $col) { $days = "day" . $col; if ($col == 1) { $sqla = "select `$days` as qty from ctb_hsg where `project` = '$project' and `knk` = '$knk' and color_code = '$color_code'"; $resa = $db->fetchRow($sqla); } else { $sumDays = []; for ($i = 1; $i <= $col; $i++) { $sumDays[] = "`day$i`"; } $sumDaysStr = implode('+', $sumDays); $sqla = "select sum($sumDaysStr) as qty from ctb_hsg where `project` = '$project' and `knk` = '$knk' and color_code = '$color_code'"; $resa = $db->fetchRow($sqla); } $sqlb = "select sum(qty) as qty from openpo_plan where `project` = '$project' and `knk` = '$knk' and color_code = '$color_code'"; $resb = $db->fetchRow($sqlb); $qty = ($resa['qty'] ?? 0) - ($resb['qty'] ?? 0); return $qty < 0 ? 0 : $qty; } // 取最小值 function getMin_first($a, $b, $c) { return min([$a, $b, $c]); } // 取最小值 function getMin_second($a, $b) { return min([$a, $b]); } function getWeekday($date) { // 将日期字符串转为 Unix 时间戳 $timestamp = strtotime($date); // 获取星期几,返回值从周日开始(0 表示周日) return date('w', $timestamp); } $sql = "DELETE FROM openpo_plan where week ='$week' and project='$project'"; $res = $db->query($sql); // 提前查询openpo数据(减少重复查询) $sqla = "select * from openpo where week ='$week' and project='$project'"; $resa = $db->fetchAll($sqla); $now = new DateTime(); $current_date = $now->format('Y-m-d'); $Sunday = strtotime($date) + (7 - getWeekday($date)) * 86400; //周日 $aftermon_timestamp = strtotime($date) + (7 - getWeekday($date)) * 86400 + (3 * 86400); //第一天 $aftermon = date('Y-m-d', $aftermon_timestamp); //第一天 // 生成后续日期 $day0 = date('Y-m-d', $Sunday); $day1 = date('Y-m-d', $aftermon_timestamp + 0 * 86400); // 第1天 $day2 = date('Y-m-d', $aftermon_timestamp + 1 * 86400); // 第2天 $day3 = date('Y-m-d', $aftermon_timestamp + 2 * 86400); // 第3天 $day4 = date('Y-m-d', $aftermon_timestamp + 3 * 86400); // 第4天 $day5 = date('Y-m-d', $aftermon_timestamp + 5 * 86400); // 第5天 $day6 = date('Y-m-d', $aftermon_timestamp + 6 * 86400); // 第6天 $day7 = date('Y-m-d', $aftermon_timestamp + 7 * 86400); // 第7天 $day8 = date('Y-m-d', $aftermon_timestamp + 8 * 86400); // 第8天 $day9 = date('Y-m-d', $aftermon_timestamp + 9 * 86400); // 第9天 $day10 = date('Y-m-d', $aftermon_timestamp + 10 * 86400); // 第10天 $day11 = date('Y-m-d', $aftermon_timestamp + 12 * 86400); // 第11天 $day12 = date('Y-m-d', $aftermon_timestamp + 13 * 86400); // 第12天 $mo_dates=[$day0,$day1,$day2,$day3,$day4,$day5,$day6,$day7,$day8,$day9,$day10,$day11,$day12]; $dataA=[]; // 循环处理12个周期 for ($col = 1; $col <= 12; $col++) { $days = "day" . $col; $mo_date = $mo_dates[$col]; $i = 0; foreach ($resa as $row) { // 提取数据 $project = $row['project']; $module = $row['module']; $stage = $row['stage']; $pc_type = $row['pc_type']; $cust_pn = $row['cust_pn']; $knk = $row['knk']; $color_code = $row['color_code']; $color_option = $row['color_option']; $eeee = $row['eeee']; // 计算可用资源 $SurPlusCapactity = CapactityPlan($db, $project, $module, $col,$week); if($col<=6){ $SurPluseeeeStock = eeeeStock($db, $project, $module, $eeee, $col,$week); // $SurPlusHsgStock = HsgStock($db, $project, $module, $knk, $color_code, $col); }else{ $SurPluseeeeStock =0; // $SurPlusHsgStock =0; } // 计算待排和已排数量(修正条件判断和变量名) if ($col == 1) { // 修正:== 判断相等 $daipaip0[$i] = $row['p0']; // $daipai = getMin_first($daipaip0[$i], $SurPlusCapactity, $SurPluseeeeStock, $SurPlusHsgStock); $daipai = getMin_first($daipaip0[$i], $SurPlusCapactity, $SurPluseeeeStock); $yipaip0[$i] = $daipai; $SurPlusDaipai = max($daipaip0[$i] - $yipaip0[$i], 0); $daipaip0[$i] = $SurPlusDaipai; } else { if($col<=6){ // $daipai = getMin_first($daipaip0[$i], $SurPlusCapactity, $SurPluseeeeStock, $SurPlusHsgStock); // 修正变量名 $daipai = getMin_first($daipaip0[$i], $SurPlusCapactity, $SurPluseeeeStock); // 修正变量名 }else{ $daipai = getMin_second($daipaip0[$i], $SurPlusCapactity); // 修正变量名 } $yipaip0[$i] = $daipai; $SurPlusDaipai = max($daipaip0[$i] - $yipaip0[$i], 0); $daipaip0[$i] = $SurPlusDaipai; } // $dataA[]=[$daipaip0[$i],$cust_pn, $project,$module,$eeee,$knk, $color_code,$daipaip0[$i],$SurPlusCapactity,$SurPluseeeeStock,$yipaip0[$i],$SurPlusDaipai,$days ,"p0"]; if($daipai >0){ // 插入openpo_plan(单条插入修正) $dataA[]=[$daipaip0[$i],$cust_pn, $project,$module,$eeee,$knk, $color_code,$daipaip0[$i],$SurPlusCapactity,$SurPluseeeeStock,$yipaip0[$i],$SurPlusDaipai,$days ,"p0"]; $values = [ $project, $module,$stage, $pc_type, $cust_pn, $knk, $color_code, $color_option, $eeee, $daipai, $days,"P0", $mo_date, $week, $date ]; $data['project']=$project; $data['module']=$module; $data['stage']=$stage; $data['pc_type']=$pc_type; $data['cust_pn']=$cust_pn; $data['knk']=$knk; $data['color_code']=$color_code; $data['color_option']=$color_option; $data['eeee']=$eeee; $data['qty']=$daipai; $data['days']=$days; $data['agep0']="P0"; $data['mo_date']=$mo_date; $data['week']=$week; $data['create_time']=$date; $types = ''; // $params = []; foreach ($values as $value) { if (is_int($value)) { $types .= 'i'; // 如果是整数类型 $params[] = &$value; } else { $types .= 's'; // 否则假定为字符串类型 $params[] = &$value; } } $placeholders = '(' . implode(',', array_fill(0, count($values), '?')) . ')'; $sqlb = "INSERT INTO `openpo_plan` ( `project`,`module`,`stage`,`pc_type`,`cust_pn`,`knk`, `color_code`,`color_option`,`eeee`,`qty`,`days`,`agep0`,`mo_date`,`week`,`create_time` ) values ".$placeholders; // 单条占位符 $stmt = $db->query($sqlb,$types,$data); if ($stmt) { $total++; // 累计成功条数 } } $i++; } // 处理age相关逻辑(同上面p0逻辑,省略重复注释) $i = 0;$j =0; foreach ($resa as $row) { // 提取数据(同上) $project = $row['project']; $module = $row['module']; $stage = $row['stage']; $pc_type = $row['pc_type']; $cust_pn = $row['cust_pn']; $knk = $row['knk']; $color_code = $row['color_code']; $color_option = $row['color_option']; $eeee = $row['eeee']; // 计算可用资源(同上) $SurPlusCapactity = CapactityPlan($db, $project, $module, $col, $week); if($col<=6){ $SurPluseeeeStock = eeeeStock($db, $project, $module, $eeee, $col, $week); // $SurPlusHsgStock = HsgStock($db, $project, $module, $knk, $color_code, $col); }else{ $SurPluseeeeStock =0; // $SurPlusHsgStock =0; } // 计算待排和已排数量 if ($col == 1) { // 修正:== 判断相等 $daipaiage[$i] = $row['age']- $yipaip0[$i]; // $daipai = getMin_first($daipaiage[$i], $SurPlusCapactity, $SurPluseeeeStock, $SurPlusHsgStock); $daipai = getMin_first($daipaiage[$i], $SurPlusCapactity, $SurPluseeeeStock); $yipaiage[$i] = $daipai; $SurPlusDaipai = max($daipaiage[$i] - $yipaiage[$i],0);$daipaiage[$i] = $SurPlusDaipai; } else { $daipaiage[$i] = max($daipaiage[$i] - $yipaip0[$i],0); if($col<=6){ // $daipai = getMin_first($daipaiage[$i], $SurPlusCapactity, $SurPluseeeeStock, $SurPlusHsgStock); $daipai = getMin_first($daipaiage[$i], $SurPlusCapactity, $SurPluseeeeStock); }else{ $daipai = getMin_second($daipaiage[$i], $SurPlusCapactity); } $yipaiage[$i] = $daipai; $SurPlusDaipai = max($daipaiage[$i] - $yipaiage[$i],0);$daipaiage[$i] = $SurPlusDaipai; } $dataA[]=[$i,$daipaiage[$i],$cust_pn, $project,$module,$eeee,$knk, $color_code,$daipaiage[$i],$SurPlusCapactity,$SurPluseeeeStock,$yipaiage[$i],$SurPlusDaipai,$days ,"age"]; if($daipai>0){ // 插入openpo_plan(单条插入修正) // $dataA[]=[$daipaiage[$i],$cust_pn, $project,$module,$eeee,$knk, $color_code,$daipaiage[$i],$SurPlusCapactity,$SurPluseeeeStock,$yipaiage[$i],$SurPlusDaipai,$days ,"age"]; $values = [ $project, $module,$stage, $pc_type, $cust_pn, $knk, $color_code, $color_option, $eeee, $daipai, $days,"AGE", $mo_date,$week, $date ]; $data['project']=$project; $data['module']=$module; $data['stage']=$stage; $data['pc_type']=$pc_type; $data['cust_pn']=$cust_pn; $data['knk']=$knk; $data['color_code']=$color_code; $data['color_option']=$color_option; $data['eeee']=$eeee; $data['qty']=$daipai; $data['days']=$days; $data['agep0']="AGE"; $data['mo_date']=$mo_date; $data['week']=$week; $data['create_time']=$date; $types = ''; // $params = []; foreach ($values as $value) { if (is_int($value)) { $types .= 'i'; // 如果是整数类型 $params[] = &$value; } else { $types .= 's'; // 否则假定为字符串类型 $params[] = &$value; } } $placeholders = '(' . implode(',', array_fill(0, count($values), '?')) . ')'; $sqlb = "INSERT INTO `openpo_plan` ( `project`,`module`,`stage`,`pc_type`,`cust_pn`,`knk`, `color_code`,`color_option`,`eeee`,`qty`,`days`,`agep0`,`mo_date`,`week`,`create_time` ) values ".$placeholders; // 单条占位符 // echo json_encode($data,true); $stmt = $db->query($sqlb,$types,$data); if ($stmt) { $total++; // 累计成功条数 } } $i++; } } $db->beginTransaction(); $sql = "DELETE FROM openpo_9c81 where project='$project' and week='$week'"; $res = $db->query($sql); $data=[]; $sqla="select project,module,pc_type,cust_pn,knk,color_code,color_option,eeee,mo_date,days,sum(qty) as qty from `openpo_plan` where project='$project' and week='$week' GROUP BY project, module,pc_type,cust_pn,days"; $resa=$db->fetchAll($sqla); $i=0; foreach($resa as $row){ $project=$row['project']; $module=$row['module']; $pc_type=$row['pc_type']; $cust_pn=$row['cust_pn']; $knk=$row['knk']; $color_code=$row['color_code']; $color_option=$row['color_option']; $eeee=$row['eeee']; $mo_date=$row['mo_date']; $days=$row['days']; $qty=$row['qty']; $data[]=[ 'project' => $project, 'module' => $module, 'pc_type' => $pc_type, 'cust_pn' => $cust_pn, 'knk' => $knk, 'color_code' => $color_code, 'color_option' => $color_option, 'eeee' => $eeee, 'mo_date' => $mo_date, 'qty' => $qty, 'days' => $days, 'week' => $week, 'create_time' => $date ]; $i++; } if (!empty($data)) { // 生成插入语句的占位符字符串和值数组 $chunkSize = 100; $dataChunks = array_chunk($data, $chunkSize); // 循环执行插入操作 foreach ($dataChunks as $chunk) { $placeholders = []; $values = []; $types = ''; // 参数类型字符串 $params = []; // 绑定的参数值 foreach ($chunk as $row) { foreach ($row as $value) { if (is_int($value)) { $types .= 'i'; // 如果是整数类型 } else { $types .= 's'; // 否则假定为字符串类型 } } $placeholders[] = '(' . implode(',', array_fill(0, count($row), '?')) . ')'; $values = array_merge($values, array_values($row)); } $sql="INSERT INTO `openpo_9c81` (`project`,`module`,`pc_type`,`cust_pn`,`knk`,`color_code`,`color_option`,`eeee`,`mo_date`,`qty`,`days`,`week`,`create_time`) values " . implode(', ', $placeholders); $stmt = $db->prepare($sql); // 准备预处理语句 if($stmt){ $stmt->bind_param($types, ...$values); // 绑定参数 $stmt->execute(); // 执行插入操作 $stmt->close(); // 关闭预处理语句 } } } // 响应结果(修正消息和判断条件) $response = [ 'code' => $i > 0 ? 0 : -1, 'count' => $total, 'data' => $dataA, // 'sqlb' => $daipai, 'message' => $total > 0 ? "插入成功!" : "插入失败,先确认机种!" ]; $db->commit(); echo json_encode($response); ?> 增加遗传算法,退火算法
08-31
case "=>KBB_點收": switch($process){ case "KBB_點收": if($type=="BER"){ $field="ds_normal_qty"; $field2="ds_ber_qty"; }else{ $field="ds_daohuo_qty"; $field2="ds_normal_qty"; } switch($potype){ case "Normal 9802": if($type=="BER"){ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; }else{ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = 'Normal' AND `eeee` LIKE '%$eeee%'"; } $sqlc = "UPDATE `bom_kbb_mlb` SET `$field2`=`$field2`+'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; $resc = $db ->query($sqlc); if(!$resc){ $db->rollback(); } break; case "CH WW 9802": if($type=="BER"){ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; }else{ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = 'Normal' AND `eeee` LIKE '%$eeee%'"; } $sqlc = "UPDATE `bom_kbb_mlb` SET `$field2`=`$field2`+'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; $resc = $db ->query($sqlc); if(!$resc){ $db->rollback(); } break; case "India": if($type=="BER"){ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; }else{ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = 'Normal' AND `eeee` LIKE '%$eeee%'"; } $sqlc = "UPDATE `bom_kbb_mlb` SET `$field2`=`$field2`+'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; $resc = $db ->query($sqlc); if(!$resc){ $db->rollback(); } break; case "India 9802": if($type=="BER"){ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; }else{ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = 'Normal' AND `eeee` LIKE '%$eeee%'"; } $sqlc = "UPDATE `bom_kbb_mlb` SET `$field2`=`$field2`+'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; $resc = $db ->query($sqlc); if(!$resc){ $db->rollback(); } break; case "India MTUB": if($type=="BER"){ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; }else{ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = 'MTUB' AND `eeee` LIKE '%$eeee%'"; } $sqlc = "UPDATE `bom_kbb_mlb` SET `$field2`=`$field2`+'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; $resc = $db ->query($sqlc); if(!$resc){ $db->rollback(); } break; case "India MTUB 9802": if($type=="BER"){ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; }else{ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = 'MTUB' AND `eeee` LIKE '%$eeee%'"; } $sqlc = "UPDATE `bom_kbb_mlb` SET `$field2`=`$field2`+'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; $resc = $db ->query($sqlc); if(!$resc){ $db->rollback(); } break; case "MTUB 9802": if($type=="BER"){ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; }else{ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = 'MTUB' AND `eeee` LIKE '%$eeee%'"; } $sqlc = "UPDATE `bom_kbb_mlb` SET `$field2`=`$field2`+'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; $resc = $db ->query($sqlc); if(!$resc){ $db->rollback(); } case "India RFB": if($type=="BER"){ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; }else{ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = 'Refurb' AND `eeee` LIKE '%$eeee%'"; } $sqlc = "UPDATE `bom_kbb_mlb` SET `$field2`=`$field2`+'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; $resc = $db ->query($sqlc); if(!$resc){ $db->rollback(); } break; case "India RFB 9802": if($type=="BER"){ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; }else{ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = 'Refurb' AND `eeee` LIKE '%$eeee%'"; } $sqlc = "UPDATE `bom_kbb_mlb` SET `$field2`=`$field2`+'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; $resc = $db ->query($sqlc); if(!$resc){ $db->rollback(); } break; break; case "RFB 9802": if($type=="BER"){ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; }else{ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = 'Refurb' AND `eeee` LIKE '%$eeee%'"; } $sqlc = "UPDATE `bom_kbb_mlb` SET `$field2`=`$field2`+'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; $resc = $db ->query($sqlc); if(!$resc){ $db->rollback(); } break; case "Xenon 9802": if($type=="BER"){ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; }else{ $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = 'Xenon' AND `eeee` LIKE '%$eeee%'"; } $sqlc = "UPDATE `bom_kbb_mlb` SET `$field2`=`$field2`+'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; $resc = $db ->query($sqlc); if(!$resc){ $db->rollback(); } break; default: $sqlb = "UPDATE `bom_kbb_mlb` SET `$field`=`$field`-'$sum_qty',`$field2`=`$field2`+'$sum_qty' WHERE `modelcode` = '$modelcode' AND `potype` = '$potype' AND `eeee` LIKE '%$eeee%'"; } break; 优化代码
10-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值