Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] sortowanie po wyniku z dwóch tabel
grzegorz_g
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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


mam dwie tabele :

t1:

id, user, rozliczenie

t2:

id, user, punkty


jak zadać pytanie sql by móc posortować sumę t1.rozliczenie i t2.punkty dla tego samego usera

Ten post edytował grzegorz_g 30.09.2010, 22:39:53
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mrok
post
Post #2





Grupa: Zarejestrowani
Postów: 258
Pomógł: 17
Dołączył: 22.05.2007

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


Sprobuj tak:

  1.  
  2. SELECT t1.*, t2.*
  3. FROM t1, t2
  4. WHERE t1.user = t2.user
  5. ORDER BY t1.rozliczenie, t2.punkty
  6.  
Go to the top of the page
+Quote Post
grzegorz_g
post
Post #3





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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


nie próbowałem ale ale z zapytania wynika ze bedzie sortowało najpierw po rozliczeniu a pozniej po punktach a mi zależy by sortowało po sumie tych dwóch wartości

takie rozwiązanie jest już prawie ok

  1.  
  2. (
  3. SELECT user, (
  4. IF( rozliczenie =1, 5, 0 )
  5. ) AS p1
  6. FROM pr_typ
  7. )
  8. UNION ALL (
  9.  
  10. SELECT user, punkty AS p2
  11. FROM pr_bonus
  12. )
  13. ORDER BY `p1` DESC
  14.  



brakuje tylko group by user (IMG:style_emoticons/default/sad.gif) nie wiem czy to bedzie miało zastosowanie przy union all
Go to the top of the page
+Quote Post
kefirek
post
Post #4





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


  1. SELECT *, IF( rozliczenie =1, 5, 0 )5.) AS p1 FROM (
  2. SELECT * FROM t1
  3. UNION ALL
  4. SELECT * FROM t2
  5. ) AS t3 GROUP BY user ORDER BY p1 DESC, punkty DESC


Ten post edytował kefirek 1.10.2010, 08:15:12
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




  1. SELECT t1.*, t2.*
  2. FROM t1, t2
  3. WHERE t1.user = t2.user
  4. GROUP BY t1.user
  5. ORDER BY (sum(t1.rozliczenie)+sum(t2.punkty))
Go to the top of the page
+Quote Post

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: 23.12.2025 - 23:15