产品按照大约20个标准进行检查和合格/不合格。 他们想要一份报告来统计每个团体有多少个每个缺陷。多个GROUP BY列合并为一列
缺陷*为varchar(3),用于标识哪些条件失败。
表有3列缺陷,我可以像回到他们:SQL Server上
GrPupID Def Occurrences
BF-061 FPV 4
BF-061 CPP 5
BF-061 CHP 5
BF-061 HCR 5
BF-061 FBL 3
BF-061 PPC 1
BF-061 FPT 1
:
SELECT GroupID,
Defect1, COUNT(Defect1) as Occ1,
Defect2, COUNT(Defect2) as Occ2,
Defect3, COUNT(Defect3) as Occ3
FROM Product
WHERE Run = 1728 AND Defect1 IS NOT NULL
GROUP BY GroupID, Defect1, Defect2, Defect3
ORDER BY GroupID
其中给出的输出,如:
GroupID Def1 Occ1 Def2 Occ2 Def3 Occ3
RF-061 CPP 1 FPV 1 null 0
RF-061 FPV 1 CPP 1 null 0
RF-061 HCR 1 CHP 1 null 0
RF-061 CHP 1 FPV 1 null 0
RF-061 FBL 1 HCR 1 FPT 1
RF-061 CHP 1 CPP 1 HCR 1
RF-061 CHP 1 CPP 1 null 0
RF-061 CPP 1 FBL 1 null 0
...
所需的输出7,是的,我知道。
谢谢,这正是我一直在寻找。 – 182764125216 2010-09-02 17:14:04