Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] Skomplikowane (?) zapytanie
MariuszT
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 9.06.2003
Skąd: Tomaszów Mazowiecki

Ostrzeżenie: (0%)
-----


Witam, potrzebuje malej pomocy. Mam dwie tabele:

  1. CREATE TABLE `obiekty` (
  2. `id` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `ocena_glosow` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
  4. PRIMARY KEY (`id`)
  5. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 ;
  6.  
  7. CREATE TABLE `oceny` (
  8. `id_obiekt` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
  9. `ocena` tinyint(2) UNSIGNED NOT NULL DEFAULT '0',
  10. KEY `id_fotka` (`id_obiekt`)
  11. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 ;


Usunalem to co sie nam nie przyda (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) I tak w pierwszej tabeli sa rekordy z jakimis danymi (obiektami) a w drugiej sa oceny tych danych (kazdy uzytkownik moze ocenic od 1 do 10 dany obiekt).

Oto opis pol:

obiekty:
id - id obiektu
ocena_glosow - ilosc oddanych glosow na ten obiekt czyli jezeli 5 osob na niego glosowalo to bedzie tam liczba 5

oceny:
id_obiekt - id obiektu dla ktorego zostala wystawiona ocena
ocena - ocena (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Od 1 do 10

Wpadlem na pomysl aby napisac sobie oprogramowanie do czyszczenia dysku i bazy danych. Moglo sie tak zdarzyc, ze zostal usuniety jakis rekord z tabeli oceny ale wartosci w polu ocena_glosow nie zostaly poprawione. Chce to naprawic. Oczywiscie mozna narobic wiele zapytan w petlach i bedzie gotowe ale szukam najbardziej optymalnego rozwiazania.

Moje pytanie brzmi:
Czy mozna jednym zapytaniem zalatwic taki update, ze skrypt wybiera obiekty, dla ktorych wartosc pola ocena_glosow jest inna niz stan rzeczywisty (sprawdzajac tabele oceny) i uaktualnia wartosc jezeli jest taka potrzeba? A wiec sprawdza dla kazdego obiektu ile oddano na niego glosow i uaktualnia wartosc w polu ocena_glosow. Chodzi o JEDNO zapytanie. O ile sie oczywiscie da (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował MariuszT 2.11.2006, 15:35:15
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 05:57