Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Probelm warunku "wart > 1000" dla sum(wartosc) as 'wart'
Bartess
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 26.01.2016

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


Witam.
Mam problem... dlatego piszę :-).
  1. SELECT kontrahent, sum(wartosc) AS 'wart'
  2. FROM faktury WHERE 1
  3. GROUP BY kontrahent

I to jest ok.
Ale w jaki sposób uzyskać wyniki tylko dla kontrahentów, dla których suma wartości jest większa niż np. 1000?
Próbowałem na takie sposoby:
  1. SELECT kontrahent, sum(wartosc) AS 'wart'
  2. FROM faktury
  3. WHERE wart > 1000
  4. GROUP BY kontrahent

Daje taki błąd: #1054 - Unknown column 'wart' in 'where clause'

  1. SELECT kontrahent, sum(wartosc) AS 'wart'
  2. FROM faktury
  3. WHERE sum(wartosc) > 1000
  4. GROUP BY kontrahent

Ale dostaję błąd: #1111 - Invalid use of group function

  1. SELECT kontrahent, sum(wartosc) AS 'wart'
  2. FROM faktury
  3. WHERE 'wart' > 1000
  4. GROUP BY kontrahent

Takie zapytanie nic nie zwraca.

Jak to ugryźć?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Bartess
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 26.01.2016

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


Doskonale Cię rozumiem. Sam muszę walczyć z tym leniem jaki we mnie siedzi ;-).
Bardzo dziękuję za pomoc z tym HEVING. Teraz moje działające pytanie wygląda tak:
  1. SELECT kontrahent, sum(wartosc) AS wart
  2. FROM faktury
  3. GROUP BY kontrahent
  4. HAVING sum(wartosc) > 1000
  5. ORDER BY sum(wartosc) DESC
Tylko dlaczego nie powinno stosować się aliasów?
Takie zapytanie też działa:
  1. SELECT kontrahent, sum(wartosc) AS wart
  2. FROM faktury
  3. GROUP BY kontrahent
  4. HAVING wart > 1000
  5. ORDER BY wart DESC


Z czego wynika taka właśnie składnia zapytania? Widzę też, że czy napiszę as 'wart' czy as wart to nie ma to znaczenia. A pytam po to, by pisać jak należy :-).

Pozdrawiam.

Ten post edytował Bartess 26.01.2016, 17:56:33
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: 14.10.2025 - 07:53