ORACLE查询,多表关联,分组加条件查询问题.表结构如下.

2024-12-14 16:50:04
推荐回答(2个)
回答1:

这跟上一个差不多吧

SELECT *
  FROM TEST
 WHERE A IN
       (SELECT T1.A
          FROM (SELECT A, COUNT(B) CNT FROM TEST GROUP BY A) T1, TEST_1 T2
         WHERE T1.A = T2.A
           AND T1.CNT > (T2.D - T2.C))

回答2:

select pid,
sum(case when type=0 then 1 else 0 end) type_0,
sum(case when type=1 then 1 else 0 end) type_1,
sum(case when type=2 then 1 else 0 end) type_2
from A
group by pid