Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Warunek w zapytaniu, mssql
Fantazyn
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 38
Dołączył: 24.02.2007
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Witam,

Mam (w uproszczeniu) podobne zapytanie w bazie danych:

select A.Name
, A.Gender
, SA.SalePrice as Price
, case when SA.max(SalePrice) > 200
then SA.max(SalePrice)
else 200 end AS PriceType
from Animal A

i zależy mi, żeby pozbyć się podwójnego obliczenia SA.max(SalePrice), czy można w jakiś normalny sposób to osiągnać?

Pozdrawiam
Go to the top of the page
+Quote Post
dmateo
post
Post #2





Grupa: Zarejestrowani
Postów: 27
Pomógł: 3
Dołączył: 19.05.2009

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


Moze wrzucenie wyniku zapytania do dodatkowej kolumny w tabeli tymczasowej i praca na niej.
Go to the top of the page
+Quote Post
clucky
post
Post #3





Grupa: Zarejestrowani
Postów: 1
Pomógł: 1
Dołączył: 2.02.2006

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


Najprostszym sposobem jest zastosowanie podzapytania:

select Name,Gender,Price,
case when max > 200
then max else 200 end as PriceType
from
(select A.Name
, A.Gender
, A.SalePrice as Price
, SA.max(SalePrice) as max
from Animal A) as T

Tylko jest tu błąd przy SA.SalePrice - nie wiem czy dobrze poprawiłem (założyłem, że SA to jest nazwa schematu).
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: 22.08.2025 - 14:14