Diskuze: mysql jeden sloupec na dva
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Asi bych to dělal až v PHP, zbytečně budeš tahat ta samá data 2x.
no ty samé data myslím nebudu tahat 2x. myslel jsem, že to bude složený dotaz, něco takové:
SELECT čas1, čas2 FROM (SELECT čas ...) ...
ale asi je to zbytečně složité pro mysql a nechám to na php
Z db bys do PHP přenášel každý čas 2x. Nad tím dotazem sem přemýšlel a nenapadlo mě žádné řešení.
Ahoj, nevím jak vypadá tvoje databáze (resp. tahle konkrétní tabulka), ale když už ten dotaz skládat na úrovni databáze, tak bych to řešil asi takhle:
select CAS CAS1, (select CAS from *** where ***) CAS2 from *** where ***;
Nějako mi ale není jasný jak to chceš omezovat (co bude za where), nebo jak spolu ty záznamy souvisí ...
ten druhý čas2 je vždy posunutý o 1 hodinu?
Jestli jo, tak to fakt nech až na PHP.
V mysql existuje funkce DATE_ADD, kterou by jsi zde mohl použít.
Vypadalo by to asi nějak takto:
SELECT cas1, DATE_ADD(cas1, INTERVAL 1 HOUR) FROM ... WHERE ...
Není to možná úplně přesně, ale tak nějak by to mohlo být.
Víc info najdeš tady:
http://www.abclinuxu.cz/…i-v-mysql-vi
V SQL by to šlo také napsat. Třeba:
SET @before_time = (SELECT `time` FROM `test` LIMIT 1);
SELECT
@before_time as `time1`,
(@before_time := time) as `time2`
FROM `test`
LIMIT 1,18446744073709551615
Zobrazeno 8 zpráv z 8.