Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.10.2009 Ostrzeżenie: (0%)
|
Witajcie,
mam problem z napisaniem pewnego zapytania. Mam 2 tabele users i users2 każda z tabel ma 29 różnych kolumn jednak skupiamy się na dwóch, pierwsza to id i druga ptk. Id to unikalny numer każdego użytkownika a ptk to liczba jego punktów. Users od Users2 różni się jedynie liczbą punktów użytkowników. Jak mogę odjąć sume jednej kolumny ptk od drugiej? SELECT users.ptk, users2b.ptk AS ptk2 FROM users RIGHT OUTER JOIN (SELECT uid, ptk FROM users2) AS users2b ON users.uid = users2b.uid Tym zapytaniem wywołałem 2 kolumny które chciałbym od siebie odjąć jednak nie mam za pomysłu jak to zrobić. Mogę liczyć na Waszą pomoc? Ten post edytował bananoke 7.03.2011, 11:06:34 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Pytanie zasadnicze: "Co rozumiesz przez suma jednej kolumny i suma 2 kolumny?"
Czy chodzi Ci o fakt, że bierzesz obie tabele i łączysz po tym samym id i wartość jednej kolumny dla danego id odejmujesz od drugiej, czy sumujesz punkty dla całej tabeli 1, sumujesz wszystkie punkty z tabeli 2 i dopiero teraz odejmujesz? Jeśli to pierwsze to po prostu JOIN po numerze id i jedna z kolumn wyniku w select to będzie różnica obu kolumn wybranych. Jeśli to drugie to zamiast kombinować z jakimiś powalonymi JOINami zakręconymi jak stado pędzących śrubek, zrób po zapytaniu sumującym dla każdej z tabel i po stronie skryptu php już odejmij. Powinno to być wydajniejsze. Dwa proste zapytania wykonają się zazwyczaj szybciej niż jedno skomplikowane. |
|
|
|
bananoke Zapytanie Mysql odejmowanie kolumn 7.03.2011, 09:42:52
bananoke Cytat(thek @ 7.03.2011, 10:41:31 ) Py... 7.03.2011, 11:12:51
thek [SQL] pobierz, plaintext SELECT b.id, IF (a.pt... 7.03.2011, 11:57:40
bananoke dokladnie o to chodzilo jestes wielki dziekuje 7.03.2011, 13:24:23 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 22:00 |