Hirdetés

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

  • szmegma

    aktív tag

    Egy MySql gurura lenne szuksegem az alabbi problemammal kapcsolatban.

    Van 3 tabla. A booking_sheet, jobs_sheet es workers_sheet.
    A booking_sheet tartalmazza egy leadott megrendeles adatait:

    `booking_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `starting_datetime` int(10) unsigned NOT NULL,
    `regularity` tinyint(2) unsigned DEFAULT NULL,
    PRIMARY KEY (`booking_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;

    Tegyuk fel van 3 megrendeles (booking_id,starting_datetime,regularity):
    1, 1358236800, 14
    2, 1360584000, 7
    3, 1365141600, NULL

    A jobs_sheet, a fonok booking_sheet altal kiosztott munka adatait tartalmazza. Beallitja a munka vegenek idopontjat es egy mukas ID-jet rendeli hozza:

    `jobs_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `booking_id` int(10) unsigned NOT NULL,
    `workers_id` int(10) unsigned NOT NULL,
    `finishing_datetime` int(10) unsigned NOT NULL,
    PRIMARY KEY (`jobs_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;

    Tegyuk fel van 3 ekeszitett rekord (jobs_id,booking_id,workers_id,finishing_datetime):
    1, 1, 2, 1358251200
    2, 2, 3, 1360594800
    3, 3, 1, 1365163200

    A workers_sheet pedig a munkasok adatait tartalmazza:

    `workers_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `workers_name` varchar(255) NOT NULL,
    PRIMARY KEY (`workers_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;

    Tegyuk fel van 3 munkas (workers_id,workers_name):
    1, Jozsi
    2, Geza
    3, Bela

    Egy megrendelo lapot keszitek, ahol orat es datumot kell kivalasztani az ugyfelnek.
    Ha mondjuk kivalasztja a 08:00, akkor ugy kellene lefutnia egy keresnek, hogy 8 orakor melyik napon van legalabb egy szabad ember es azokat a napokat adja vissza a datumvalasztoba.
    Csak, hogy ne legyen ilyen egyszeru, mint latjatok van egy regularity mezo, mely azt adja meg, hogy az elso kivant munkanap utan, hany nap mulva kell ujra az adott idopontban menni dolgozni.

    A fenti peldak szoveges formaban:

    Az 1. szamu melot 2013-01-15 08:00:00-kor Geza kezdi, melynek befejezese 2013-01-15 12:00:00-kor es 14 naponkent ismetlodik, tehat 2013-01-29 08:00:00-kor ujra kezdi stb.
    A 2. szamu melot 2013-02-11 12:00:00-kor Bela kezdi, melynek befejezese 2013-02-11 15:00:00-kor es 7 naponkent ismetlodik, tehat 2013-02-18 12:00:00-kor ujra kezdi stb.
    A 3. szamu melot 2013-04-05 06:00:00-kor Jozsi kezdi, melynek befejezese 2013-04-05 12:00:00-kor es nem ismetlodik.

    Na mar most, ha vki a megrendelo lapon kivalasztja a 08:00, akkor lathato, hogy minden datum szabad esmegjelenitheto, hiszen legalabb egy munkas szabad barmelyik napon 8 orakor.

    Szamomre ez a kerdes igencsak meghaladja a tudasom, pedig ezt a hetveget MySql tanulassal toltottem. Sok mindent tanultam, de ezt nem tudom megoldani egyedul. :U
    Ha vki tudna segiteni, halas lennek.

    Koszonom.

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