栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将结果分组到两个表中

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将结果分组到两个表中

假设这个模式:

create table master (    master_id serial primary key,    project_id int,    category_id int,    supplier_id int);create table detail (    detail_id int,    item_id int,    qty numeric(18,2),    rate numeric(18,2),    master_id int references master (master_id));create temporary table temp_detail (    purchase_order_detail_id integer,    item_id integer,    qty numeric(18,2),    project_id integer,    category_id integer,    supplier_id integer,    rate numeric(18,2));

可以做到这一点:

with d as (    insert into master (project_id, category_id, supplier_id)    select distinct project_id, category_id, supplier_id    from temp_detail    returning *)insert into detail (item_id, qty, rate, master_id)select item_id, qty, rate, master_idfrom    temp_detail td    inner join    d on (td.project_id, td.category_id, td.supplier_id) = (d.project_id, d.category_id, d.supplier_id);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/660311.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号