Zapytanie SQL z "podtypami"

0

Witam,

Nie potrafię rozkmnić zapytań, które (dla tabeli z linku poniżej) w wyświetliłby:
Typy w których występują tylką wartośći X (tu wynikiem powinno być 'A')
Typy w których występują tylko wartość Y (tu wynikiem powinno być 'C')
Typy w których występują wartości X i Y (tu wynikiem powinno być 'B')

http://sqlfiddle.com/#!7/c238d/2

Będę bardzo wdzięczny za każdą pomoc.

2

To wystarczy użyć where z odpowiednimi warunkami. Podstawy SQLa

0

SQLa używam z doskoku, nie jestem w tym biegły.

Zapytanie jakie wymyśliłem żeby wyświetliło typy tylko z 'X', daje mi w wyniku A i B, a szukam takiego, które da tylko prawidłowe, czyli A.

SELECT DISTINCT(TYP) FROM PRZYKLAD
WHERE WARTOSC_1 = 'X' AND WARTOSC_2 = 'X'
1

Ten przykład to z książki kursu czy coś, czy realna baza? Jeśli druga opcja - to ktoś słabo to przemyślał.
Ale do rzeczy - rozbij ten problem na mniejsze.

Czy byłbyś w stanie wybrać odpowiednie wiersze, jeśli miałbyś dane w postaci typ/wartość?

TYP WARTOSC
A X
B X
B Y
C Y
D X
E Y

I wybrać wtedy odpowiednio typy spełniające Twoje kryteria?
Jeśli tak, to spróbuj coś w stylu:

select costamcostam
from
(
--tu zapytanie, które przerobi pierwotne dane na postać typ/wartość
--zamiast nazwy tabelki
) 
where costamcostam
1

Przykład dla 2x X (reszta analogicznie)

SELECT 
    TYP,COUNT(*),SUM(S)
FROM (
    SELECT 
        TYP
        , case when WARTOSC_1 = 'X' and WARTOSC_2 = 'X' then 1 else 0 end s 
    FROM 
      PRZYKLAD) r
group by
    TYP
HAVING
    COUNT(*)=SUM(S)

http://sqlfiddle.com/#!7/c238d/42

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