Select - select

0

Cześć,

Potrzebuje napisać zapytanie które wyciągnie mi z tabeli BW wartość zsumowaną w_net przy spełnieniu warunków po WHERE.

Na ten moment napisałem to w dwóch selectach, jednak aby to zadziałało tak jakbym chciał musi być 1 select który zsumuje minusowo wartość w_net z tabeli BW gdzie będą dwa warunki (TRB = 'A' and TYP_K = 'C_STR') and (STRB = 'P' and TYP_K = 'KAP_Y').

Bardzo proszę o pomoc

Formatted SQL:

select
   - SUM( W_NET) 
from
   BW 
where
   STRB = 'A' 
   and TYP_K = 'C_STR'
)
select
   - SUM( W_NET) 
from
   BW 
where
   STRB = 'P' 
   and TYP_K = 'KAP_Y'
0

https://www.techonthenet.com/oracle/functions/case.php

SELECT 
-sum(CASE WHEN STRB = 'A' AND TYP_K = 'C_STR' THEN W_NET ELSE 0 END),
-sum(CASE WHEN STRB = 'P'  AND TYP_K = 'KAP_Y' THEN W_NET ELSE 0 END)
FROM bw
0

@Crude Monte Carlo - nie do końca o to chodziło, ale zmieniłem Twoje zapytanie na takie jak poniżej i działa :)

Dziękuje bardzo!

SELECT
   - sum(
   CASE
      WHEN
         STRB = 'A' 
         AND TYP_K = 'C_STR' 
         or 
         (
            STRB = 'P' 
            AND TYP_K = 'KAP_Y' 
         )
      THEN
         W_NET 
      ELSE
         0 
   END
) 
FROM
   bw
1
SELECT Sum(W_NET) FROM bw WHERE (STRB, TYP_K) IN (('A','C_STR'),('P','KAP_Y'))

1 użytkowników online, w tym zalogowanych: 0, gości: 1