Hirdetés

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

  • szmegma

    aktív tag

    válasz Apollo17hu #1341 üzenetére

    Na ez erdekes. Termeszetesen igazad lett, a CASE nem veszi be a FROM_UNIXTIME(workers_finishing,'%H%i')*1 egyeni elnevezeset. :F
    Plusz syntax hiba is volt.

    Elso verzio: osszes oszlop = TRUE, ha megforditom a kacsacsort, akkor is TRUE!

    $cheking_time = '7:30';

    (CASE WHEN
    '1 < ".$cheking_time."'
    THEN
    'true'
    ELSE
    'false' END) AS 'oszlop'

    Masodik verzio: osszes oszlop = TRUE, am ha megforditom a kacsacsort, akkor FALSE lesz

    $cheking_time = '7:30';

    (CASE WHEN
    1 < ".$cheking_time."
    THEN
    'true'
    ELSE
    'false' END) AS 'oszlop'

    Harmadik verzio: oszlop1 = FALSE, oszlop2 = FALSE, oszlop3 = TRUE, oszlop4 = FALSE

    $cheking_time = '19:30';

    (CASE WHEN
    FROM_UNIXTIME(workers_finishing,'%H%i')*1 > '".$cheking_time."'
    AND
    FROM_UNIXTIME(workers_starting,'%H%i')*1 < '".$cheking_time."'
    THEN
    'true'
    ELSE
    'false' END) AS 'oszlop'

    Mint lathato, mostmar a SELECT resz mukodik. :R

    Az uj kod:

    SELECT
    booking_sheet.booking_id,
    jobs_sheet.booking_id,
    jobs_id,
    starting_timestamp,
    number,
    workers_id,
    workers_starting,
    workers_finishing,
    FROM_UNIXTIME(workers_starting,'%Y-%m-%d') AS workers_working_date,
    DATE(CURDATE()+1) AS interval_start,
    DATE_ADD(CURDATE()+1, INTERVAL 31 DAY) AS interval_end,
    (CASE WHEN
    FROM_UNIXTIME(workers_finishing,'%H%i')*1 > '".$cheking_time."'
    AND
    FROM_UNIXTIME(workers_starting,'%H%i')*1 < '".$cheking_time."'
    THEN
    'true'
    ELSE
    'false' END) AS 'oszlop'
    FROM
    jobs_sheet
    INNER JOIN
    booking_sheet
    ON
    jobs_sheet.booking_id=booking_sheet.booking_id

    A korabbi kerdesedre valaszolva, bevittem a SELECT-be azt a 31 napos idointervallumot (interval_start es interval_end), amibol szurnie kellene, hogy mely napokon van legalabb egy szabad ember 08:00-kor.
    Vegulis a lenyege ennek az lenne, hogy egy arrayba gyujtse ossze ezeket a napokat.

    A 100 lepesbol tizet megtettunk! :C
    A FROM utan kellene letrehozni azokat az allekerdezeseket ugye? Olvasgattam utana, de ez a "SELECT beagyazasa masik lekeresbe" tema nem konnyen emesztheto szamomra.
    Meg azt sem tudom, hogy az INNER JOIN kapcsolat jo ide? Olvastam LEFT, RIGHT, FULL, NATURAL es INNER tipusokrol, de nem tudom, mikor melyik ajanlott.
    Esetleg elobb a WHERE utasitasokat kellene meghatarozni?

    Koszonom.

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