Autor | Zpráva | ||
---|---|---|---|
Prochy Profil |
Dobrý večer,
řešim tu takový problém, který mám sice vyřešený, ale zajímalo by mě, jestli to jde udělat elegantněji. Takže mám v DB více časů např.: 1. 9:00 - 11:00 2. 9:30 - 10:30 3. 8:00 - 11:30 4. 9:30 - 11:30 Tak potom bych chtěl uložit čas např. 9:00 - 11:00 a potřeboval bych zjistit, jestli je daný čas v průniku s některým uvedeným. Vidíme, že to souhlasí se všemi řádky v DB. Jak nejlépe to zapsat pomocí dotazu. Udělal jsem si následující popis podmínek, které potřebuji, abych se snažil všechno vystihnout: /*startMysql - počáteční čas v DB s kterým to porovnávám endMysql - koncový čas v DB s kterým to porovnávám start - zapisovaný počáteční čas do DB end - zapisovaný koncový čas do DB*/ start <= startMySQL && end>=endMySQL || start >=startMysql && end<=endMysql || start <= startMysql && end>=startMysql || start<=endMysql && end>=endMysql Na nic lepšího jsem nepřišel, ale nejsem si jistý, jestli to není příliš pomalý dotaz v MySQL. Díky za rady |
||
Alphard Profil |
#2 · Zasláno: 13. 9. 2014, 00:00:08
Lze formulaci „být v průniku“ chápat jako „průnik testovaných množin je neprázdný“ v klasickém matematickém smyslu?
end >= startMySQL && start <= endMySQL |
||
Prochy Profil |
#3 · Zasláno: 13. 9. 2014, 09:08:49
Doufám, že ti rozumim správně, ale ano je to průnik v klasickém matematickém smyslu, ale není to průnik se všemi řádky v DB dohromady, ale s každým řádkem zvlášť.
|
||
Časová prodleva: 11 let
|
0