mysql工作中遇到的问题_mysql - 工作中碰到的问题

1. 建立一张临时表,将多个表的内容暂时存储,然后再用这张表中的数据为条件去操作另外一张表。

注意每次执行此语句时,如果数据量很大,不建议使用。建议建立一张真实的表来存储。

with rr as (with t1 as (select a.receiving_code,a.product_barcode from odoo_ykd_oversea_shipping_information a

inner join odoo_ykd_receiving_order_manage b on a.receiving_code=b.receiving_code and a.data_version=b.data_version inner join

odoo_sync_control_scrapy d on d.data_version=b.data_version where d.finish_mark=0 and d.final_version_flag=1)

select c.id from api_stock_picking_detail c inner join t1 on t1.product_barcode=c.sku and t1.receiving_code=c.carrier_no where c.state=‘draft‘)

update api_stock_picking_detail set state=‘done‘,odoo_remark=‘sync_task‘ from rr where rr.id=api_stock_picking_detail.id

2. 查找出某一天,每一个odoo_warehouse_code最大id(最新)的一条记录

select a.data_version, a.product_barcode, a.rd_putaway_qty, a.rd_status, a.rd_update_time, a.receiving_code,

a.odoo_warehouse_code, a.record_status from ykdcrawl_oversea_shipping_information a inner join ykdcrawl_task_control b on

a.data_version=b.data_version inner join (select max(id) as id from ykdcrawl_task_control where data_date=‘%(data_date)s‘

and task_type=1 and result_type=1 and record_status=1 GROUP BY odoo_warehouse_code) c on b.id =c.id

3. 使用内连接时要注意,一对一,一对多关系的两张表建立出的数据不会多于数据量多的哪个表的总记录条数。

而多对多是要远远多余两张表的数据的,如果数据存在重复的情况,数量会成倍增加。

原文:https://www.cnblogs.com/JackShi/p/13753466.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值