SELECT A.ID,
(SELECT COUNT(*) FROM B WHERE A.ID=B.ID group by id) as "总的"
(SELECT COUNT(*) FROM B WHERE A.ID=B.ID AND B.TYPE='好的' group by id) as "好的",
(SELECT COUNT(*) FROM B WHERE A.ID=B.ID AND B.TYPE='坏的' group by id) as "坏的",
(SELECT COUNT(*) FROM B WHERE A.ID=B.ID AND B.TYPE='好的' group by id)
/
(SELECT COUNT(*) FROM B WHERE A.ID=B.ID group by id) AS "良品率"
(SELECT N1 FROM
(SELECT SUM(C.P1) AS N1,B.ID FROM C JOIN B ON B.ID=C.ID AND B.PID=C.PID AND B. B.TYPE='好的' ) T1 WHERE T1.ID=A.ID) AS"好的B每一个*C的某个属性的总和"
FROM A
,
Select
Id,
Count(B.id) As 总的,
Count(Case When B.状态='好的' Then 1 Else Null End) As 好的,
Count(Case When B.状态='坏的' Then 1 Else Null End) As 坏的,
Count(Case When B.状态='好的' Then 1 Else Null End)/Count(B.*) As 良品率,
Sum(When B.状态='好的' Then C.某个属性 Else 0 End) As 好的B每一个*C的某个属性的总和
From
A,B,C
Where
A.Id=B.id
And B.Name=C.Name
大体是这样的