Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Instrukcja warunkowa?
Krisu
post
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

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


Witam,
dawno mnie nie było na tym forum, ale pojawił się problemik i byłbym rad, gdybyście mi coś doradzili w tej sprawie.

Mam bazę z testami, użytkownik rozwiązuje najpierw jeden test a potem drugi, ale wszystko jest oparte na troszkę niezaplanowanej bazie danych.
Musiałem to wszystko zrobić w jednym zapytaniu gdyż zależy mi na sortowaniu i wyciągnięciu na raz wszystkich potrzebnych danych. Zapytanie w 100% działa jednak jeśli nie znajdzie, któregoś z testów (uczestnik go jeszcze nie rozwiązał) to zwraca null, a przez to gdy dodaję w zapytaniu wartości z obu testów to niestety nie zlicza mi ich, co jest logiczne. Moje pytanie brzmi tak:

Jak zrobić, żeby za wartość null zapytanie przyjmowało 0? smile.gif
Zastanawiałem się nad wrzuceniem warunku, że jeśli null to 0 ale może doradzicie coś odpowiedniejszego? Nie wiem też jak miałbym to zaimplementować smile.gif

  1. SELECT user.uid, user.name, user.surname,
  2.  
  3. (SELECT points FROM results WHERE tid = '$active_tid1' AND uid = user.uid) points,
  4. (SELECT exam_sec FROM results WHERE tid = '$active_tid1' AND uid = user.uid) exam_sec,
  5. (SELECT points FROM results WHERE tid = '$active_tid2' AND uid = user.uid) points2,
  6. (SELECT exam_sec FROM results WHERE tid = '$active_tid2' AND uid = user.uid) exam_sec2,
  7.  
  8. ((SELECT points FROM results WHERE tid = '$active_tid1' AND uid = user.uid) + (SELECT points FROM results WHERE tid = '$active_tid2' AND uid = user.uid)) punkty,
  9. ((SELECT exam_sec FROM results WHERE tid = '$active_tid1' AND uid = user.uid) + (SELECT exam_sec FROM results WHERE tid = '$active_tid2' AND uid = user.uid)) czasy
  10.  
  11. FROM user WHERE user.auth = '1' AND user.active = '1' ORDER BY (points+points2) DESC, (exam_sec+exam_sec2) ASC
Go to the top of the page
+Quote Post

Posty w temacie
- Krisu   Instrukcja warunkowa?   31.01.2012, 22:19:19
- - zaajcu   ja bym przerobil to zapytanie na join'y a do s...   31.01.2012, 23:05:14


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 Aktualny czas: 20.08.2025 - 18:18