![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 38 Dołączył: 24.02.2007 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
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 |
|
|
![]()
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.
|
|
|
![]()
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). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:14 |