Voici ma requête SQL jusqu'à présent et ma sortie actuelle est la suivante: p> la sortie doit être comme ceci: p>
p> < P> ** J'ai ajouté le sup_id à ma déclaration de sélection, alors je sais que c'est un fournisseur différent. Donc, ce que j'essaie de faire est d'obtenir le total de ces pendements et complété p>
3 Réponses :
Vous pouvez définir une requête parent avec groupe par code>, à l'aide de votre requête existante:
@kPatch pouvez-vous s'il vous plaît réessayer?
Et ça? Code dont vous avez besoin est de la ligne n ° 12 en avant.
SQL> with test (emp_id, status, sup_id) as
2 (select 102, 'P', 19 from dual union all
3 select 102, 'P', 76 from dual union all
4 select 103, 'C', 19 from dual union all
5 select 104, 'C', 75 from dual union all
6 select 107, 'C', 74 from dual union all
7 select 107, 'P', 73 from dual union all
8 select 110, 'C', 19 from dual union all
9 select 110, 'P', 15 from dual union all
10 select 110, 'P', 17 from dual
11 )
12 select emp_id,
13 sum(case when status = 'P' then 1 else 0 end) pending,
14 sum(case when status = 'C' then 1 else 0 end) completed,
15 count(*) all_orders
16 From test
17 group by emp_id
18 order by emp_id;
EMP_ID PENDING COMPLETED ALL_ORDERS
---------- ---------- ---------- ----------
102 2 0 2
103 0 1 1
104 0 1 1
107 1 1 2
110 2 1 3
SQL>
Essayez ci-dessous Query
SELECT sum(DECODE(o.status, 'P', 1, 0)) PENDING,sum(DECODE(o.status, 'C', 1, 0)) COMPLETED,
o.sup_id
FROM L4_Orders o, L4_suppliers s, L4_sup_pro sp, L4_details d, L4_products p, L4_inventories i
WHERE o.sup_id = s.id AND
s.id = sp.sup_id AND
o.id = d.ord_Id AND
d.pro_id = p.our_id AND
p.our_id = sp.pro_id AND
p.our_id = i.pro_id AND
province = 'BC'
group by o.emp_id
ORDER BY o.emp_id;
Qu'est-ce qui ne fonctionne pas? Est
somme (décodage (O.Status, 'p', 1, 0)) code> etc non ce dont vous avez besoin?Comment les ajoutez-vous avec le statut terminé?
Vous ajoutez des valeurs à l'aide de l'opérateur
+ code>. Qu'est-ce qui ne fonctionne pas?