Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wybieranie wierszy i grupowanie
likon1
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 6.10.2009

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


Witam, posiadam 3 tabele dajmy na to:

event (id, name, .. ), event_users (id, user, event ), wait (id, time, event)

Wszystko dziala tak ze do wierszy w tabeli event podczepiam kolejnych uzytkownikow do wydarzen ( do wydarzen zas podpinam inner joinem tabele wait ).

Chcialbym jednak by wypisalo mi jedyne te wydarzenia w ktorych nie ma podpietego usera o np. moim id

Probowalem juz z tym group by i innymi ale ciagle zwraca mi bledne dane
Moglby ktos chociaz schematycznie to nakreslic?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
likon1
post
Post #2





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 6.10.2009

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


Heh to zapytanie zwraca cos odwrotnego - wszystkie eventy w ktorych uczestniczyl dany user:)

Zapytane zwrocilo eventy innych uczestnikow innych niz 2, ale nie wyklucza to ze 2 tez czasem w nim nie uczestniczyla

Dokladnie takie wyrazenie zwrocilo to co chcialem:

Zrobilem to jednak na piechote bo licze jakby ilosc uztkownikow na event bez tych userow z id=2 i z tym id a potem porownuje = jesli tyle samo to go wypisuje

Zna ktos jakis lepszy pomysl bo to jest zbyt dlugie..


  1. SELECT event_main . * , event_wait . *
  2. FROM (
  3.  
  4. SELECT event, count( event ) AS cnt
  5. FROM event_users
  6. GROUP BY event
  7. ) AS tab2
  8. LEFT JOIN (
  9.  
  10. SELECT event, count( event ) AS cnt2
  11. FROM event_users
  12. WHERE user !=2
  13. GROUP BY event
  14. ) AS tab1 ON tab2.event = tab1.event
  15. LEFT JOIN event_main ON tab1.event = event_main.id
  16. LEFT JOIN event_wait ON tab1.event = event_wait.event
  17. WHERE cnt = cnt2
  18. AND time_start IS NOT NULL
  19. LIMIT 0 , 30


Ten post edytował likon1 1.03.2010, 21:59:39
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: 13.10.2025 - 08:06