Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] problem z zapytaniem
juzer
post 13.05.2008, 14:31:35
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 6.10.2004
Skąd: Mysłowice

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


Witam, jak zapisać zapytanie do bazy by porównywać dwie wartości i wybierać tylko te rekordy w których różnica między tymi dwoma wartościami jest np. większa niż 10? Wiem jak to zrobić w php natomiast problem mam by to zrobić w zapytaniu SQL?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
nospor
post 13.05.2008, 14:37:16
Post #2





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




  1. SELECT * FROM tabela WHERE pole2-pole1 > 10


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artega
post 13.05.2008, 14:42:19
Post #3





Grupa: Zarejestrowani
Postów: 174
Pomógł: 42
Dołączył: 22.07.2007
Skąd: /dev/random

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


  1. SELECT id, (pole - pole2) AS roznica FROM tabela HAVING roznica > 10
Go to the top of the page
+Quote Post
nospor
post 13.05.2008, 14:51:25
Post #4





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




@artega having stosuje sie wraz z group by.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artega
post 13.05.2008, 15:03:09
Post #5





Grupa: Zarejestrowani
Postów: 174
Pomógł: 42
Dołączył: 22.07.2007
Skąd: /dev/random

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


@nospor zgadza się, jednak użyłem HAVING z myślą, iż autor chciałby użyć grupowania smile.gif
Go to the top of the page
+Quote Post
nospor
post 13.05.2008, 15:05:21
Post #6





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




nie chce tu toczyc bezsensownego boju, ale podales totalnie bledne zapytanie bez zadnego wytlumaczenia bo myslales ze autor moze bedzie cos chcial.
Jak juz podajesz zapytania to podawaj poprawnie skladniowo albo chociaz wyjasniaj co i jak smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
juzer
post 14.05.2008, 14:10:06
Post #7





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 6.10.2004
Skąd: Mysłowice

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


dzięki za zainteresowaniem tematem problem w tym, że jak się okazało w polach 1 i 2 mogą być liczby dodatnie i ujemne i po zastosowaniu tego pierwszego zapytania nadal ma problem z wyświetlaniem odpowiednich rekordów.

Czy da się w SQL by pomijał minus przed liczbą i traktował ja jak dodatnią?

Poza tym gdy pierwsza jest mniejsza od drugiej to wiadomo że różnica będzie ujemna i wtedy nie będzie wyższa od przedziału który zakładam np > 10

Ten post edytował juzer 14.05.2008, 14:14:29
Go to the top of the page
+Quote Post
artega
post 14.05.2008, 14:29:49
Post #8





Grupa: Zarejestrowani
Postów: 174
Pomógł: 42
Dołączył: 22.07.2007
Skąd: /dev/random

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


Użyj funkcji ABS.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:44