DELIMITER $$

USE `topsale`$$

DROP PROCEDURE IF EXISTS `sale_proce`$$

CREATE DEFINER=`root`@`%` PROCEDURE `sale_proce`(IN countryList VARCHAR() ,IN beg VARCHAR(),IN endd VARCHAR())
BEGIN
DELETE FROM sale_record WHERE country_id IN(countryList) AND datadate BETWEEN beg AND endd;
INSERT INTO sale_Record(branch_model,hq_model,line,size,spec,country_id,center,country,datadate,saleQty)
SELECT t.branch_model,t.hq_model,t.product_line,t.size,t.PRODUCT_SPEC_ID,pa.`COUNTRY_ID`,center.PARTY_NAME center,coun.`PARTY_NAME` country,
DATE_FORMAT(t.`datadate`,'%Y-%m-01') DATE,COALESCE(SUM(t.`h_quantity`),0) saleQty
FROM vive_tv_sale t
JOIN shop_info si ON si.`SHOP_ID`=t.`shop_id` AND si.flag=0
JOIN party pa ON pa.`PARTY_ID`=si.`PARTY_ID` AND pa.flag=0
JOIN (SELECT * FROM party) coun ON coun.party_id=pa.country_id
JOIN (SELECT * FROM party) center ON center.party_id=coun.PARENT_PARTY_ID
WHERE pa.country_id IN(countryList)
AND t.datadate BETWEEN beg AND endd
GROUP BY pa.`COUNTRY_ID`,t.model,DATE_FORMAT(t.`datadate`,'%Y%m')
ORDER BY center.PARTY_NAME,coun.`PARTY_NAME`,DATE_FORMAT(t.`datadate`,'%Y%m');
END$$ DELIMITER ;
     UPDATE vive_tv_sale vts,
(SELECT a.id, pa.`COUNTRY_ID`,pa.`PARTY_ID`,si.`SHOP_ID`,tm.`hq_model`,tm.`branch_model`,
pr.`product_line`,pr.`size`,pr.`PRODUCT_SPEC_ID`
,co.all_products_coefficient coeff
,'',si.`CUSTOMER_ID` FROM vive_tv_sale a,shop_info si,party pa,t_modelmap tm,product pr ,`coefficient` co
WHERE a.shop_id=si.shop_id
AND a.model=tm.branch_model
AND si.`PARTY_ID` = pa.`PARTY_ID`
AND co.`country` = pa.`COUNTRY_ID`
AND tm.`party_id` = pa.`COUNTRY_ID`
AND pr.`head_type_id` = 1
AND a.country=#{country}
AND a.datadate BETWEEN #{beginDate} AND #{endDate}
AND tm.`hq_model` = pr.`PRODUCT_model`
AND si.flag = 0
AND pa.flag = 0
AND tm.flag = 0
AND pr.flag = 0) v_sl SET
vts.`country_id` = v_sl.COUNTRY_ID
,vts.`party_id` = v_sl.PARTY_ID
,vts.`hq_model` = v_sl.hq_model
,vts.`branch_model` = v_sl.branch_model
,vts.`product_line` = v_sl.product_line
,vts.`size` = v_sl.size
,vts.`PRODUCT_SPEC_ID` = v_sl.PRODUCT_SPEC_ID
,vts.`coe_quan` = vts.`quantity` / v_sl.coeff
,vts.`coe_amou` = vts.`amount` / v_sl.coeff
,vts.`h_coe_quan` = vts.`quantity` /v_sl.coeff
,vts.`h_coe_amou` = vts.h_amount /v_sl.coeff
,vts.`customer_id` = v_sl.CUSTOMER_ID
,vts.`country` = v_sl.COUNTRY_ID
,vts.`flag`=
WHERE flag=
AND v_sl.id=vts.id
AND vts.country=#{country}
AND vts.datadate BETWEEN #{beginDate} AND #{endDate}

mysql查询一个表的字段,添加或修改到另外一个表的数据的更多相关文章

  1. mysql查询order by 指定字段排序

    当MySQL查询时排序的字段不是数字时而是汉字的时候也可以用when  then 来指定排序. 列如yewu_check表的status 字段不是0,1,2而是汉字待办,已办,退回.可以如下写法: S ...

  2. Mysql查询用逗号分隔的字段-字符串函数FIND_IN_SET(),以及此函数与in()函数的区别

    查询用逗号分隔的字段,可以用字符串函数FIND_IN_SET(): 查询数据库表中某个字段(值分行显示),可以用函数in(). 今天工作中遇到一个问题,就是用FIND_IN_SET()函数解决的. 第 ...

  3. [转]Sql Server 给表与字段添加描述

    /* 在SQL语句中通过系统存储过sp_addextendedproperty可为表字段添加上动态的说明(备注)下面是SQL SERVER帮助文档中对sp_addextendedproperty存储过 ...

  4. SQL Server 给表和字段添加说明

    .添加表说明 EXECUTE sp_addextendedproperty N'MS_Description','表说明',N'user',N'dbo',N'table',N'表名',NULL,NUL ...

  5. Oracle | 给表和字段添加注释

    comment  on  column  表名.字段名   is  '注释内容'; comment on column OPERATOR_INFO.MAIN_OPER_ID is '归属操作员'; c ...

  6. oracle将一个表中字段的值赋值到另一个表中字段(批量)

    面积表中数据错误,现将面积表中的sfmj字段的值改为居民信息表中匹配字段的值 update (select s.name name1,s2.name name2 from simple s,simpl ...

  7. mysql查询今天、昨天、本周、本月、上一月 、今年数据

    mysql数据库中的关于查询日期的一些操作如下: --今天 select * from 表名 where to_days(时间字段名) = to_days(now()); --昨天 --本周 SELE ...

  8. MYSQL查询今天、昨天、7天前、30天、本月数据

    今天: SELECT * FROM 表名 WHERE TO_DAYS( 时间字段名) = TO_DAYS(NOW()); 昨天: SELECT * FROM 表名 WHERE TO_DAYS( NOW ...

  9. PHP.36-TP框架商城应用实例-后台12-商品管理-主分类添加、修改、搜索(连表查询)

    需求:一个商品必须有一个主分类,一个主分类可以有多个商品 [一对多] 修改表p39_goods,增加外键约束,增加索引 主分类添加[控制器->页面] 1.在控制器GoodsController. ...

随机推荐

  1. android scrollview listview显示不全

    原来处理方法是重写ListView import android.content.Context; import android.util.AttributeSet; import android.v ...

  2. switch语句的功能是否完全可以使用if else多选择结构来代替?如果是,为什么还需要switch结构?

  3. [UE4]基于物理的材质

    基于物理的材质可以产生更准确并且通常更加自然的外观,在所有照明环境中都可以同样完美地工作! 官方说明

  4. HTTP协议的简单解析

    超文本传输协议(HTTP,HyperText Transfer Protocol)是用于从服务器传输超文本到本地浏览器的传输协议,是应用最为广泛的网络协议.B/S网络架构的核心是HTTP,掌握HTTP ...

  5. dict函数

    增 fromkeys(iterable, value) 用可迭代对象生成键,创建默认值相同的字典(value默认None) 删 pop(k) 通过k来删除字典元素, 找不到就会报错, 返回被删除字典元 ...

  6. 面向对象javascript编程

    以构造函数的方式定义对象 function Person(name, age) { this.name = name; this.age = age; this.sayName = function ...

  7. 1-自己动手编写ArrayList集合

    学习集合的原理,这是一个很简单的代码,没有索引下标越界判断,异常处理等,不够健壮,后面会继续更新完善代码..... 只是入门学习一下 package my; /*** * 自己动手编写一个ArrayL ...

  8. vue2.0 中#$emit,$on的使用详解

    vue1.0中 vm.$dispatch 和 vm.$broadcast 被弃用,改用$emit,$on 1. vm.$on( event, callback ) 监听当前实例上的自定义事件.事件可以 ...

  9. 使用命名管道的OVERLAPPED方式实现非阻塞模式编程 .

    命令管道是进程间通讯的一种常用方式,对于命令管道的介绍可以参考别的资料和书籍,这里推荐一个<VC++下命名管道编程的原理及实现>这篇博文,写得比较清楚.但是都是介绍了阻塞模式的编程,我这里 ...

  10. 更换Git的地址;

    Git地址变了,Android Studio更新和提交代码都用不了了:需要把新的Git地址更换一下: 1.打开git项目的文件夹,进入git操作框: 2. git remote -v 查看现有地址: ...