34,873
社区成员
发帖
与我相关
我的任务
分享
--1.资料表 (盒子编号,盒子名称,最大变形量,其他信息。。。)
CREATE TABLE DOC
(HZCODE VARCHAR(10) NULL DEFAULT '',
HZNAME VARCHAR(20) NULL DEFAULT '',
MXZDBXL DECIMAL(14,2) NULL DEFAULT 0
)
--索引
CREATE INDEX INX_DOC ON DOC (HZCODE)
--2.变形对照表(盒子编号,温度,变形量)
CREATE TABLE BXDZB
(HZCODE VARCHAR(10) NULL DEFAULT '',
WIND DECIMAL(14,2) NULL DEFAULT 0,
BIANXL DECIMAL(14,2) NULL DEFAULT 0
)
--索引
CREATE INDEX INX_BXDZ ON BXDZB (HZCODE)
--3.测试记录表(盒子编号,测试温度)
CREATE TABLE CESB
(HZCODE VARCHAR(10) NULL DEFAULT '',
CESWD DECIMAL(14,2) NULL DEFAULT 0
)
--索引
CREATE INDEX INX_CS ON CESB (HZCODE,CESWD)
--测试数据
INSERT INTO DOC
(HZCODE,HZNAME,MXZDBXL)
SELECT '10001','盒子A',1.8
UNION
SELECT '10002','盒子B',1.6
UNION
SELECT '10003','盒子C',3.0
UNION
SELECT '10004','盒子D',3.0
INSERT INTO BXDZB
(HZCODE,WIND,BIANXL)
SELECT '10001',0,0
UNION
SELECT '10001',10,1
UNION
SELECT '10001',20,2.1
UNION
SELECT '10002',10,1.5
UNION
SELECT '10002',20,1.9
DELETE CESB
INSERT INTO CESB
(HZCODE,CESWD)
SELECT '10001',0
UNION
SELECT '10001',10
UNION
SELECT '10001',20
UNION
SELECT '10002',10
UNION
SELECT '10002',20
--如果某一个温度下,盒子的变形量超过规定的范围,则该盒子需要重新加工,再测试,直到满足要求
SELECT A.*,C.CESWD
FROM DOC A JOIN BXDZB B ON A.HZCODE=B.HZCODE
JOIN CESB C ON A.HZCODE=C.HZCODE
WHERE B.WIND=C.CESWD AND A.MXZDBXL<B.BIANXL
-------------------------------------------
10001 盒子A 1.80 20.00
10002 盒子B 1.60 20.00