今天碰到了一个关于主子表统计的问题
主子表case 嵌套 统计查询
主表 t1(t1id, t1a ,t1b)
子表 t2(t2id,t1id,t2x,t2y,t2t)
oracle数据库
主表表示的是商品 子表表示的商品检测项 t2x表示检测项目名称 t2y表示检测值
一个产品有多个检测值 只有当全部检测值都合格 才说明产品合格
要求通过查询 查出 全部产品的合格情况
比如a产品 进行 韧度 湿度 的录入
这里的t2t表示标准值 小于标准值为不合格 其中有一项不合格则不合格
flag=0 不合格
flag=1 合格
主子表case 嵌套 统计查询
主表 t1(t1id, t1a ,t1b)
子表 t2(t2id,t1id,t2x,t2y,t2t)
oracle数据库
主表表示的是商品 子表表示的商品检测项 t2x表示检测项目名称 t2y表示检测值
一个产品有多个检测值 只有当全部检测值都合格 才说明产品合格
要求通过查询 查出 全部产品的合格情况
比如a产品 进行 韧度 湿度 的录入
这里的t2t表示标准值 小于标准值为不合格 其中有一项不合格则不合格
select t1.*,(
select (
(CASE
WHEN COUNT (*) > 0
THEN 0
ELSE 1
END) tmp
)
from t2 where t2.t1id = t1.t1id and t2.t2y < t2.t2t
) as flag
from t1
flag=0 不合格
flag=1 合格