当前位置: 代码迷 >> PB >> 数据检索有关问题
  详细解决方案

数据检索有关问题

热度:15   发布时间:2016-04-29 07:00:22.0
数据检索问题
有两张表:主表、明细表
主表中内容有:单号、操作人、单位、审核人、日期、等字段内容如下
              001    甲    单位1  经理   2013.1.5 
              002    乙    单位2  经理   2013.1.5
................
明细表中有:单号、物料、数量、单价等字段内容如下
            001   A    2     20
           001   N    6     10
           002   B    4     15
           002   A    3     20
           002   D    1      5 
.........

现在如果录入与单号001的明细内容相同的数据时,即当录入内容为
物料   数量
A      2
N      6

如何实现在数据库中查询出001单号中的明细内容与录入的结果相同,另外录入时是没有顺序之说的。
数据库

------解决方案--------------------
前台比较吧:

把你明细中认为的关键字拼接起来作为一个关键字,例如:

假设BOM明细
物料、数量都相同,就认为这个BOM已经存在

物料   数量
A      2
N      6

datawindow sql如下:

select 单号,物料,数量
from BOM明细表
where 单号 in (
select A.单号
from BOM明细表 A
where A.物料 + A.数量 in ('A2',N6')
group by A.单号 )
order by 单号,物料,数量


获取所有包含
物料   数量
A      2
N      6
的BOM单的明细

然后根据单号,物料,数量在datawindow里查找find函数,