主子表数据插入问题

kckcxy 2019-08-02 02:30:34
主表tb1(id(自增),日期,工号, 工序)
子表tb2(id, 产品,数量)

主子表关联字段 tb1.id→tb2.id

表tb3是要插入的数据记录:记录有上万条,每个人每天可能有几个工序
------------------------------------------------------------------------------
日期, 工号, 工序,产品, 数量
2019/7/22 19021 9 EN47 6
2019/7/22 19021 9 EN47 6
2019/7/22 19021 9 EQ54 3
2019/7/22 19021 9 EM55 10
2019/7/22 19021 9 EM55 10
2019/7/22 19021 9 RQ62 2
2019/7/22 19021 9 RQ62 2
2019/7/22 19030 23 EN29 10
2019/7/22 19030 23 EN47 6
2019/7/22 19030 23 EL27 18
2019/7/22 19030 23 EN47 6
2019/7/22 19030 23 RQ40 3
.........
数据插入要求:
tb3表里的:日期,工号,工序 插入tb1表的 日期,工号, 工序字段
tb3表里的:产品,数量 插入tb1表的 产品,数量字段

这里感觉比较麻烦的是tb1表的id是自增字段,这个id刚好也是主子表的关联字段,请问这个要怎么处理?
感谢,仅有的40分送上!
...全文
359 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kckcxy 2019-08-08
  • 打赏
  • 举报
回复
我的迂回解决方案,欢迎指导:
tb1加了个字段tb3_flag

insert into tb1(日期, 工号, 工序, tb3_flag)
select distinct 日期 , 工号,工序,convert(varchar, 日期,112) + cast(工号 as varchar) + cast(工序 as varchar) as flag
from tb3

insert into tb2(id, 产品, 数量)
select tb1.id, 产品, 数量
from (
select 产品, 数量, convert(varchar, 日期,112) + cast(工号 as varchar) + cast(工序 as varchar) as flag
from tb3
) a join tb1 on a.flag = tb1.tb3_flag



以上是我部分sql,为了简单名了,省去了部分条件sql,谢谢!
kckcxy 2019-08-08
  • 打赏
  • 举报
回复
引用 4 楼 早打大打打核战争 的回复:
楼主这设计... 如果tb3增加一个ID不就完全不需要tb1、tb2了么

说明下为什么会有这样需求:
tb1,tb2是多年前开发的,围绕这两个表做的客户端以及报表使用很多年,也很稳定,
这两个表里的数据全部靠2个人天天手工输入,工作量太大,也不好控制,所以今年
又搞了条码扫描,tb3的数据是车间无线扫描终端传回来的数据,不想花太多时间修改程序,
所以就想把tb3的有效数据直接插入tb1和tb2,这样原有稳定系统不影响。不知道我说明白了吗!

关于这个困惑我也想了一个办法,我在楼下说明,还望各位指导。
victor_yang 2019-08-08
  • 打赏
  • 举报
回复
可能不同年代叫法不一样,开玩笑的,看懂就行
kckcxy 2019-08-08
  • 打赏
  • 举报
回复
引用 5 楼 victor_yang 的回复:
什么时候主从表改叫成主子表了?谁是你主子?


是这样,我最开始学习数据库是从Access开始的,Access是叫主子表的。
主表,子表,主窗体,子窗体,所以习惯了,让你见笑了!
  • 打赏
  • 举报
回复
楼主这设计... 如果tb3增加一个ID不就完全不需要tb1、tb2了么
victor_yang 2019-08-06
  • 打赏
  • 举报
回复
我的做法是,tb1和tb2的ID是GUID,由自己生成,这样好控制,先生成1个,然后2个表都用这个ID,不管是存储过程里还是程序里,用起来都很方便。
victor_yang 2019-08-06
  • 打赏
  • 举报
回复
什么时候主从表改叫成主子表了?谁是你主子?
lao_yunger 2019-08-05
  • 打赏
  • 举报
回复
你表不该用自增字段做外联字段。.主表tb1 和主表tb2 各 自加 一个索引字段,比如TB1.A, TB2.B
主子表关联字段 tb1.A→tb2.B,

weixin_40290083 2019-08-04
  • 打赏
  • 举报
回复
在td2上增加一列作为主键列TABID,这个没有太实际的数据义意,如果TD3没有上述更多的属性列,TD2.ID(外键)关联到td1.ID,那么TD3就没有存在的意义,如果因应用系统原因,可以再TD3上关联TD1.ID和TD2.TABID,还可以增加一些数据列。文
EOS Report开发指南: 01 EOS Report概述 01.01 EOS Report简介 01.02 EOS Report总体结构 01.03 EOS Report功能特性 02 EOS Report入门 02.01 EOS Report基础知识 02.02 EOS Report业务概念 02.03 报入门开发示例 02.03.01 分析设计 02.03.02 示例实现 02.03.02.01 创建项目 02.03.02.02 创建报erd文件 02.03.02.03 创建JDBC数据源 02.03.02.04 创建JDBC数据集 02.03.02.05 创建纵向展开字段集 02.03.02.06 设置单元格数据 02.03.02.07 设置展开区域 02.03.03 预览报 03 EOS Report应用开发过程 04 EOS Report使用参考 04.01 创建项目 04.02 创建报erd文件 04.03 设置数据源 04.03.01 创建数据源 04.03.01.01 创建JDBC数据源 04.03.01.02 创建SDO数据源 04.03.01.03 创建XML数据源 04.03.02 修改数据源 04.03.03 删除数据源 04.04 设置数据集 04.04.01 创建数据集 04.04.01.01 创建JDBC数据集 04.04.01.01.01 新建数据集 04.04.01.01.02 编辑查询SQL 04.04.01.01.03 设置输出列 04.04.01.01.04 设置计算列 04.04.01.01.05 编辑数据集变量 04.04.01.01.06 记录过滤 04.04.01.01.07 提取记录数 04.04.01.01.08 预览数据集 04.04.01.01.09 动态SQL 04.04.01.02 创建SDO数据集 04.04.01.03 创建XML数据集 04.04.02 修改数据集 04.04.03 删除数据集 04.05 设置报字段集 04.05.01 创建纵向/双向展开字段集 04.05.01.01 选择数据集 04.05.01.02 绑定数据集变量 04.05.01.03 数据集记录过滤 04.05.01.04 编辑字段集列和属性 04.05.01.05 汇总 04.05.01.06 子对齐 04.05.02 创建交叉字段集 04.05.02.01 选择数据集 04.05.02.02 选择行维分组字段 04.05.02.03 选择列维分组字段 04.05.02.04 设置度量 04.05.02.05 为统计项设置公式 04.05.02.06 子对齐 04.05.03 修改报字段集 04.05.04 删除报字段集 04.06 设置样 04.06.01 导入Excel文件 04.06.02 设置单元格样式 04.06.03 合并/拆分单元格 04.07 设置单元格类型 04.07.01 静态文本 04.07.02 公式 04.07.03 图像 04.07.04 图 04.07.05 斜线 04.07.06 条形码 04.08 设置展开区域 04.08.01 单个报的展开区域 04.08.02 复合报的展开区域 04.08.03 主子的展开区域 04.09 编辑单元格 04.09.01 单元格杂项属性 04.09.02 复制或移动单元格 04.09.03 插入空白单元格、行或列 04.09.04 设置行高/列宽 04.09.05 删除单元格、行或列 04.09.06 重置单元格 04.09.07 设置格背景图 04.10 设置报参数 04.10.01 创建报参数 04.10.02 引用报参数 04.10.03 修改报参数 04.10.04 删除报参数 04.11 设置融合/被动填充方式 04.12 设置动态行高/列宽 04.13 设置提交参数 04.14 设置报属性 04.15 设置样式风格 04.15.01 新建样式风格 04.15.02 修改样式风格 04.15.03 删除样式风格 04.16 预览报 04.17 打印设置 04.17.01 页面设置 04.17.01.01 页面 04.17.01.02 页边距 04.17.01.03 页眉/页脚 04.17.01.04 水印 04.17.01.05 分页控制 04.17.02 打印预览 04.17.03 票据套打 04.17.03.01 扫描票据 04.17.03.02 创建带背景图的报 04.17.03.03 页面设置 05 EOS Report应用开发指南 05.01 双向分组报 05.01.01 案例描述 05.01.02 案例实现 05.02 图 05.02.01 案例描述 05.02.02 案例实现 05.03 主子 05.03.01 案例描述 05.03.02 案例实现 05.03.02.01 案例实现一 05.03.02.02 案例实现二 05.04 复合报 05.04.01 案例描述 05.04.02 案例实现 05.05 条件风格 05.05.01 案例描述 05.05.02 案例实现 05.06 交叉 05.06.01 案例描述 05.06.02 案例实现
22春"计算机科学与技术"专业《计算方法》在线作业答案参考 1. strcmp( )函数用来( )。 A.求字符串长度 B.比较字符 C.求子串 D.字符串拷贝 参考答案:B 2. 对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为(1) 84 47 25 15 21 (2) 15 47 25 84 21 (3) 15 21 25 84 47 (4) 15 21 25 47 84 则采用的排序方法是( )。 A.选择 B.冒泡 C.快速 D.插入 参考答案:A 3. 快速排序总比简单排序快。( ) A.错误 B.正确 参考答案:A 4. 十进制的基数是( )。 A.2 B.8 C.10 D.16 参考答案:C 22春"计算机科学与技术"专业《计算方法》在线作业一答案参考5全文共5页,当前为第1页。5. 已知一列数{8,9,7,4,1,2},使用简单选择排序法对其按照升序进行排列,第0趟比较之后数列为( ) A.8,9,7,4,1,2 B.1,9,7,4,8,2 C.8,7,4,1,2,9 D.1,2,8,9,7,4 参考答案:B 22春"计算机科学与技术"专业《计算方法》在线作业一答案参考5全文共5页,当前为第1页。 6. 二进制数1101.0101转换为十进制数是( )。 A.11.3225 B.12.3125 C.13.0125 D.13.3125 参考答案:D 7. 可以采用赋值语句将一个字符串直接赋给一个数组。( ) A.错误 B.正确 参考答案:A 8. 线性插值虽然只利用了两个节点上的信息,但是精度却比较高。( ) 线性插值虽然只利用了两个节点上的信息,但是精度却比较高。( ) A、错误 B、正确 参考答案:A 9. 在数值计算中,计算误差是可以避免的。( ) 在数值计算中,计算误差是可以避免的。( ) A、错误 B、正确 参考答案:A 22春"计算机科学与技术"专业《计算方法》在线作业一答案参考5全文共5页,当前为第2页。10. 乘幂法主要是用来求矩阵的主特征值(按模最大的特征值)及相应的特征向量。( ) A.正确 B.错误 参考答案:A 22春"计算机科学与技术"专业《计算方法》在线作业一答案参考5全文共5页,当前为第2页。 11. 在任何情况下,归并排序都比简单插入排序快。( ) A.错误 B.正确 参考答案:A 12. 当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为上溢。( ) A.错误 B.正确 参考答案:B 13. 常用的阶梯函数是简单的( )次样条函数。 常用的阶梯函数是简单的( )次样条函数。 A、零 B、一 C、二 D、三 参考答案:A 14. tolower( )函数用来( )。 A.小写字母转换为大写字母 B.大写字母转换为小写字母 C.小写字母转换为大写字母,同时大写字母转换为小写字母 D.判断大小写 参考答案:B 22春"计算机科学与技术"专业《计算方法》在线作业一答案参考5全文共5页,当前为第3页。15. 利用克莱姆法则求解行列式时,求解一个n阶方程组,需要( )个n阶行列式。 利用克莱姆法则求解行列式时,求解一个n阶方程组,需要( )个n阶行列式。 A、n B、n+1 C、n-1 D、n*n 参考答案:C 22春"计算机科学与技术"专业《计算方法》在线作业一答案参考5全文共5页,当前为第3页。 16. 下列叙述中正确的是( ) A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B.在栈 ,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D.上述三种说法都不对 参考答案:C 17. 用高斯顺序消去法解线性方程组,消元能进行到底的充分必要条件是线性方程组的系数矩阵的各阶顺序主子式均不为0。( ) 用高斯顺序消去法解线性方程组,消元能进行到底的充分必要条件是线性方程组的系数矩阵的各阶顺序主子式均不为0。( ) A、错误 B、正确 参考答案:B 18. 两个字符串中的字符个数相同时才能进行字符串大小的比较。( ) A.错误 B.正确 参考答案:A 19. 基于"使残差的平方和"为最小的准则来选取拟合曲线的方法称为曲线拟合的最小二乘法。( ) 基于"使残差的平方和"为最小的准则来选取拟合曲线的方法称为曲线拟合的最小二乘法。( ) A、错误 B、正确 参考答案:B 22春"计算机科学与技术"专业《计算方法》在线作业一答案参考5全文共5页,当前为第4页。20. 快速排序的基本思想是将每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序 直到待排序数据元素全部插入完为止。( ) A.错误 B.正确 参考答案:A 22春"计算机

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧