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

  • laracroft

    senior tag

    válasz Apollo17hu #1777 üzenetére

    Szia!

    Kipróbáltam a kódot, de sajnos nem tűnik jónak :(
    Olyan rekordokat is kiad, amelyeknek több mint 5 zónájuk is ki van töltve.
    Közben rájöttem, hogy nem voltam teljesen korrekt a feladat leírásában sem, bocsánat.

    Azon rekordokat keresem, akinek a COMP táblájának ZONE1-ZONE16 mezőjeiben szerepel a PROC szó ÉS a 16 zónából 5-nél kevesebb mezőben van egyáltalán valamilyen érték (Nem csak PROC szó szerepelhet a mezőkben)

    Így nézett ki most a lekérdezés: (Így gondoltad?)

    SELECT
    UGYFEL.LINE AS VONAL,
    UGYFEL.COMPSZAM AS COMPSZAM,
    UGYFEL.NAME1 AS NEV,
    UGYFEL.ADDRESS3 AS IRSZAM,
    UGYFEL.ADDRESS1 AS VAROS,
    UGYFEL.ADDRESS2 AS UTCA
    from UGYFEL
    LEFT JOIN COMP
    ON UGYFEL.LINE = COMP.LINE
    where
    CASE WHEN COMP.ZONE1 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE2 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE3 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE4 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE5 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE6 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE7 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE8 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE9 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE10 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE11 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE12 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE13 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE14 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE15 LIKE "%PROC%" THEN 1 ELSE 0 END +
    CASE WHEN COMP.ZONE16 LIKE "%PROC%" THEN 1 ELSE 0 END < 5)
    order by VONAL

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

Hirdetés