Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] sortowanie po wyniku z dwóch tabel
Forum PHP.pl > Forum > Przedszkole
grzegorz_g
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
mrok
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.  
grzegorz_g
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 sad.gif nie wiem czy to bedzie miało zastosowanie przy union all
kefirek
  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
nospor
  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))
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.