Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PostgreSQL] Dwukrotne zapytanie do jednej tabeli
lecter007
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 2.05.2011

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


Witam,

Mam tabele w której jest ponad 500 tys rekordow, które wyglądają tak:
id: | userid: | course: | element: | value:
1 | 2 | 45 | status | passed
2 | 2 | 45 | score | 96
3 | 3 | 56 | status | incomplete
4 | 4 | 54 | status | failed
5 | 4 | 54 | score | 30
6 | 3 | 56 | score | 67

Potrzebuję najpierw wybrać który user w którym course ma element='status' i value='passed' albo 'failed', a następnie, jeśli ma 'passed' albo 'failed' w danym kursie, wypisać value gdy element='score' w tym course.
Trochę to zawiłe ale mniejwięcej tak to wygląda (IMG:style_emoticons/default/smile.gif)

Dzięki!

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lecter007
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 2.05.2011

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


no właśnie id mi nie kopiuje z oryginalnej tabeli... musiałoby by być
  1. ...WHERE...AND a.userid NOT IN (SELECT userid FROM report) AND a.course NOT IN (SELECT course FROM report)... ale i tak jak dojdę do value TO nie pójdzie bo mam już wcześeniej a.value IN ('passed', 'failed') a musiałoby BYć a.value NOT IN (SELECT value FROM report)

Value też musi sprawdzać bo możliwe, że ktoś poprawił swój wynik i wtedy powinny być 2 wpisy w tabeli report - w oryginalnej tabeli aktualizuje się SCORE i STATUS.

Wiem, że ktoś to głupio wymyślił ale tak to już zastałem...

Z góry dzięki!
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: 31.12.2025 - 18:35