Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Niecodzienne zapytanie do bazy
ixpack
post 27.06.2010, 14:45:48
Post #1





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


Witam ponownie... Cały dzień męczę się z jednym zapytaniem, które być może nie będzie stanowiło dla was problemu.

Chcę, aby baza zmieniła rekord w tabeli.kolumnie z wartości 'tp' na wartość 'no', ale tylko w 2 przypadkach:
1)
  1. UPDATE produkty, timepromo_info SET produkty.saleroom='no'
  2. WHERE ((produkty.saleroom != 'no' AND UNIX_TIMESTAMP()>=timepromo_info.end)
  3. OR (2gi przypadek))

- 1szy przypadek działa super... Ale teraz 2gi przypadek, czyli zmiana produkty.saleroom z wartości innej niż 'no' - na tą właśnie wartość.
2gi przypadek stanowi tak jakby zabezpieczenie, gdyby cudem znikła wartość end albo cały wpis winksmiley.jpg (cuda się zdarzają) z tabeli timepromo_info. Kombinowałem z IFNULL, ale nie idzie tak jak chcę :/.

Obie tabele zawierają jeszcze kolumnę: productid, którą można wykorzystać - ale 2gi przypadek ma po prostu zmieniać komórkę produkty.saleroom na wartość 'no', jeżeli nie byłoby jakichkolwiek danych w tabeli timepromo_info produktu, który jest w tabeli produkty. Nie wiem czy mysql ma takie polecenia, które to mogłyby rozwiązać. Jeżeli nie to dam sobie na luz i zrobię "na około".

Pozdrawiam.


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post
Lilo
post 27.06.2010, 15:56:44
Post #2





Grupa: Zarejestrowani
Postów: 33
Pomógł: 3
Dołączył: 22.03.2010

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


Witaj, nie wiem, czy o to Ci chodzi, otóż jest słowo kluczowe DEFAULT, które sprawia, że w pustej kolumnie zostanie zapisana określona wartość domyślna. http://brasil.cel.agh.edu.pl/~09seenglert/...mp;menu=DEFAULT

Ten post edytował Lilo 27.06.2010, 16:16:00


--------------------
" The ELDERS of the Internet know who I am" from The IT Crowd

Pomogłam? Kliknij Pomógł :)
Go to the top of the page
+Quote Post
ixpack
post 27.06.2010, 20:22:11
Post #3





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


Może jeszcze raz: mam 2 tabele. 1sza z 3 kolumnami (productid, mainid, saleroon), saleroom ma wartości ('tp', 'no', 'yes'). Druga tabela ma kolumny (productid, start, end). 1sza tabela zawsze ma wartości, ale 2ga zdarzy się, że wartości nie będzie w ogóle.
Chcę, aby skrypt zmienił wartość w 1szej tabeli, w kolumnie saleroom z jakiejkolwiek innej niż 'no', na właśnie 'no' - i tu mały problem, chcę aby zapytanie zmieniło tą wartość gdy danego productid nie będzie w 2giej tabeli.

Czyli jeżeli mam produkt X, a wartość saleroom jest inna niż 'no', a produktu X nie ma w 2giej tabeli to wówczas następuje update saleroom na wartość 'no'. Oczywiście powinno to działać dla wszystkich "brakujących" produktów.

Mam nadzieję, że rozumiecie.

Ten post edytował ixpack 27.06.2010, 20:27:31


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:38