Hirdetés

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

  • martonx
    veterán

    Sziasztok!

    Egy táblában (DATE, NÉV) pl Ilonához tartozó dátum ami 0809 formátum
    Egy másik táblából meg kell feleltetnem (DATE, ÉRTÉK) azt a dátumot, ami egyezik ezzel a dátummal! de itt a dátum formátum YYYY.MM.DD
    Az eredménynek több sort kell visszadobni (minden évben van egy ilyen dátum), majd ebből a második legnagyobb értéket kell kiválasztanom!

    SELECT Nevek.Date, Nevek.Nev
    FROM Nevek
    WHERE Nevek.Nev = "Ilona" --megvan ilona és a hozzá tartozó dátum OK.

    --megpróbálom a névhez tartozó dátumot egyeztetni a másik táblában, dátum alakítás szükséges lenne :(((
    (SELECT Nevek.Date, Nevek.Nev Ertekek,Date, Ertekek,Ertek
    FROM WHERE (Nevek.Nev) IN

    (SELECT Nevek.Date, Nevek.Nev Ertekek,Date, Ertekek,Ertek
    (Nevek
    RIGHT JOIN Ertekek
    ON Nevek.Date = Ertekek.Date));


    --és ezek után a második legnagyobb érték kiválasztása

    Nem írtad, hogy milyen SQL-t használsz. Én most MSSQL-ről fogok beszélni. Dátumot a convert-el (cast-tal) tudsz legegyszerűbben formázni

    pl. convert(varchar(10), Nevek.Date, 102)
    aztán a varcharral már azt csinálsz amit akarsz.

    Majd a kapott select-et sorba rendezve valami szerint (nemírtad le, hogy miből kell a második legnagyobb) belerakod egy fő selectbe. Ahol venném a top 2-t az a lselectből. És keresném a minimumát a valaminek.

    Remélem érthető voltam.

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