Update kilku wierszy z roznymi wartosciami. Jak? |
Update kilku wierszy z roznymi wartosciami. Jak? |
25.07.2004, 16:50:00
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 25.07.2004 Ostrzeżenie: (0%) |
Witam wszystkich.
Jest to moj pierwszy post, ale mam nadzieje, ze nie ostatni Sproboje opisac swoj problem... Uzytkownik na stronie wpisuje slowa kluczowe, ktore maja sie znalezc w tytule. Na podstawie tego, skrypt wypelnia tabele 'wyniki_zapytanie' identyfikatorami ksiazek, ktore w swoim tytule maja ktorys z tych slow kluczowych. Do tego dodaje id_zapytania, zeby bylo wiadomo ktore ksiazki naleza do jakiego zapytania. Jak juz sie wyswietli lista ksiazek, uzytkownik klika sobie w linki do ksiazek. Pierwsze klikniecie skutkuje zapisaniem do tabeli 'zapytanie_wybor' nastepujacych wartosci: id_zapytania - ktorego zapytania dotyczy to klikniecie id_ksiazki - na jakas ksiazke kliknal kolejnosc - ktore w kolejnosci bylo to klikniecie ( w tym przypadki = 1 ) Kolejne klikniecie skutkuja tym samym, zmienia sie id_ksiazki, a kolejnosc sie zwieksza (2, 3, ...) Na razie nie ma tu zadnej filozofii Przy nastepnym wpisaniu slow kluczowych do formularza, skrypt sprawdza, czy w tabeli jest juz takie zapytanie. Jesli nie ma to sytacja yglada jak powyzej. Jesli jest, to juz sie troche komplikuje. Poczatek wyglada tak samo - do tabeli 'wyniki_zapytania' wstawiane sa id_ksiazki i id_zapytania. Wagi ustawiane standardowo na 1. Potem chcialbym zaktualizowac te wagi w nastepujacy sposob: dla ksiazek wystepujacych w tabeli 'wyniki_zapytania' sprawdzam, ktore z nich sa tez w tabeli 'zapytanie_wybor'. Oczywiscie id_zapytania tez musi sie zgadzac. Dla tych ktore sa, chce obliczyc srednia wartosc z kolumny 'kolejnosc' (dla kazdego id_ksiazki oddzielnie). To co mi wyjdzie chce dodac do kolumny waga w tabeli 'wyniki_zapytania' Troche zakrecilem, wiec sprobuje napisac szkielet zapytania sql: update wyniki_zapytania set waga = wyn_zap.waga + (select avg(zw.kolejnosc) from zapytanie_wybor as zw where zw.id_zapytania = __id_zapytania__ group by id_ksiazki) from wyniki_zapytania as wyn_zap, zapytanie as zap, zapytanie_wybor az zap_wyb where zap.id_zapytania = wyn_zap.id_zapytania and zap.id_zapytania = wyn_zap.id_zapytania and wyn_zap.id_zapytania = __id_zapytania__ and wyn_zap.id_ksiazki = zap_wyb.id_ksiazki pewnie cos namieszalem, ale moze uda Ci sie Wam cos z tego zrozumiec a na dodatek skrypt tworzacy baze: schemat |
|
|
Wersja Lo-Fi | Aktualny czas: 24.09.2024 - 04:59 |