SELECT tkp.koszyk_wpis_id, tkp.koszyk_id, tkp.koszyk_produkt_id, tkp.koszyk_produkt_pozycja, tkp.koszyk_produkt_ilosc, (cena + (cena*((tc.CFG_Marza + tpg.Produkty_grupy_marza + 4)/100))), tkp.koszyk_produkt_nazwa, tkp.koszyk_produkt_partnumber, tkp.koszyk_produkt_data, ((cena * tkp.koszyk_produkt_ilosc)+(cena*((tc.CFG_Marza + tpg.Produkty_grupy_marza + 4)/100))), tk.koszyk_od, tp.Produkt_producent_id, tp.Produkt_grupa, tp.Produkt_rodzina, tp.Produkt_magazyn, CASE WHEN tkp.koszyk_produkt_cena IS NOT NULL THEN tkp.koszyk_produkt_cena ELSE tp.produkt_cena END AS cena FROM sp_koszyk_produkty tkp, sp_config tc LEFT JOIN sp_koszyk tk ON tk.koszyk_id = tkp.koszyk_id LEFT JOIN sp_produkty tp ON tp.Produkt_id = tkp.koszyk_produkt_id LEFT JOIN sp_produkty_grupy tpg ON tpg.Produkty_grupy_id = tp.Produkt_grupa WHERE tkp.koszyk_id = '21' ORDER BY tkp.koszyk_produkt_pozycja
O tak wyglada zapytanie z ktorym mam problem, a dokladniej chodzi o czesc
CASE WHEN tkp.koszyk_produkt_cena IS NOT NULL THEN tkp.koszyk_produkt_cena ELSE tp.produkt_cena END AS cena
problem polega na tym ze potrzebuje wynik case ( cena ) wykorzystac w tym samym SELECT. Normalnie uzylbym widoku, badz procedury ale niestety wersja 4 tych wspanialosci nie posiada, moglbym uzyc temporary table ale prowider znowoz nie zezwala na nie, jedynym roziwazaniem problemu jaki mi przychodzi do glowy to zrobienie wlasnej tabeli, ale to rozwiazanie jest malo hmm "estetyczne"

P.S. No i oczywisice inny sposob niz podmiana cena na
CASE WHEN tkp.koszyk_produkt_cena IS NOT NULL THEN tkp.koszyk_produkt_cena ELSE tp.produkt_cena END
