Hirdetés

Új hozzászólás Aktív témák

  • Lortech
    addikt

    Sziasztok!

    Én is szeretnék egyet kérdezni,nagyon-nagyon hálás lennék,ha valaki segítene! :R :R :R

    Van egy tábla,persze most kitalált:
    két oszlopa van,név és állat.
    a nevek:marci,béla,dia,orsi,ág
    az alábbi állataik vannak,de pl.áginak két cicája is van és két soron szerepel,és marcinak pedig mindhárom állatkája van.

    a kérdés,hogy hány olyan ember van:
    -akinek csak kutyája van
    -akinek csak cicája van
    -akinek csak papagája van,
    -akinek van cicája és kutyája,
    -akinek van cicája és papagája,
    -akinek van kutyája és papagája,
    -akinek van mindhárom állatkája?

    nev allat
    marci kutya
    marci cica
    marci papagáj
    béla papagáj
    béla kutya
    dia kutya
    orsi papagáj
    ági cica
    ági cica

    Szóval milyen lekérdezést lehet erre írni?
    Arra is gondoltam,hogy már az is könnyebbség lenne,ha vmi mátrixos szerkezetet ki lehetne hozni belőle.

    Köszönöm a segítséget előre is,nagyon remélem,hogy Ti tudjátok!

    Üdv,
    Mérienn23 :)) :))

    1,
    select count(*) elso_valasz from
    (select nev, count(allat) kutyak_szama from tabla where allat = 'kutya' group by nev) kutyak join
    (select nev, count(allat) allatok_szama from tabla group by nev) allatok on kutyak.nev = allatok.nev
    where allatok_szama = kutyak_szama

    2,
    select count(*) masodik_valasz from
    (select nev, count(allat) kutyak_szama from tabla where allat = 'cica' group by nev) kutyak join
    (select nev, count(allat) allatok_szama from tabla group by nev) allatok on kutyak.nev = allatok.nev
    where allatok_szama = kutyak_szama

    3,
    select count(*) harmadik_valasz from
    (select nev, count(allat) kutyak_szama from tabla where allat = 'papagáj' group by nev) kutyak join
    (select nev, count(allat) allatok_szama from tabla group by nev) allatok on kutyak.nev = allatok.nev
    where allatok_szama = kutyak_szama

    4, select count(*) negyedik_valasz from (select distinct nev from tabla where nev in (select nev from tabla where allat = 'cica') and allat = 'kutya')

    5, select count(*) otodik_valasz from (select distinct nev from tabla where nev in (select nev from tabla where allat = 'cica') and allat = 'papagáj')

    6, select count(*) hatodik_valasz from (select distinct nev from tabla where nev in (select nev from tabla where allat = 'kutya') and allat = 'papagáj')

    7, select count(*) from (select distinct nev from tabla where nev in (select nev from tabla where nev in (select nev from tabla where allat = 'cica') and allat = 'kutya') and allat = 'papagáj')

    höhö, 3 sör után,
    ja és sok sikert a tanárodnak.

Új hozzászólás Aktív témák