Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Sformułowanie zapytania
Forum PHP.pl > Forum > Przedszkole
evolucja
Tabela:
id|user|starttime|endtime
1|12|8:00|10:30
2|12|9:30|20:00
3|12|10:30|14:00

I teraz chcę takie zapytanie:
pobierz * z 'spotkania' gdzie `starttime` jakiegoś rekordu jest równe `endtime` jeszcze innego rekordu dla usera o id 12

W tym wypadku dostał bym rekord o id 3. I teraz rekord numer 3 chciałbym usunąć(z tym problemu nie ma) a w rekordzie numer 1 zmienić `endtime` na `endtime` rekordu o id 3. Z tym drugim jest taki problem, że w wyniku zapytania powyżej dostanę id rekordu 3 więc skąd mam wziąć id 1?

Może da się w jednym zapytaniu albo jeszcze inaczej to zrobić?
athei
W jednym zapytaniu tego nie zrobisz. Wymyśliłem coś takiego, ale musisz wykorzystać do tego np. php
1. Pobierz, Zwróci 3|10:30|14:00, To co pobrałeś wykorzystasz dalej: $id, $starttime, $endtime
  1. SELECT id, starttime, endtime FROM spotkania
  2. WHERE starttime IN (SELECT endtime FROM spotkania WHERE userid=12) AND userid=12
2. Aktualizuj
  1. UPDATE spotkania SET endtime='{$endtime}' WHERE endtime='{$startime}' AND userid=12
3. Usuń
  1. DELETE FROM spotkania WHERE id= {$id}
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.