Forum
Merhaba
Yapmak istedim views Logo Go muhasebe programı içerisinde 15 tane tablonun birleşiminden oluşmaktadır.
İstenileni ekrana getirmek için ise Case When Then den sonra AS ile bir sütun isimi vererek sonucu liste
halinde göstermekteyim (Not : Bu sütun ismi yaklaşık 5500 satırdır).
Ve bu sonuc için vermiş olduğum sütun ismini ayni views içerisinde başka sorgu işleminde kullanmak.
Örneğin aşağıdaki Sorguda nettutar sütununu diğer sorgular içerisinde nasıl kullanabilirim. Teşekkürler.
SELECT FATURATUTARI, FATURATUTARI - ISKONTO AS NETTUTAR, FROM DBO.LG_207_01_INVOICE
-- yukarıdaki bu sorguyu aşağıdaki gibi kullanmak istemekteyim.Fakat as den sonra vermiş olduğum ismi bir sonraki işlemde tanımamaktadır.
SELECT FATURATUTARI, FATURATUTARI - ISKONTO AS NETTUTAR, NETTUTAR - MAYIYET AS KAR FROM DBO.LG_207_01_INVOICE
Hakan AYDIN
sorgunuzdan ne yapmak istediginizi tam anlatirsaniz belki yardimci olabiliriz.ikinci sorguda nettutardan maliyeti cikarip yeni bir sonucmu elde etme derdindesiniz?icice select komutu kullanarak denedinizmi?
select code,
/*1.satir*/ is not null(select sum(total) from lg_001_01_invoice inner join lg_001_01_stline on stockref=logicalref) as nettotal,
/*2.satir*/ is not null(select x from lg_001_01_invoice........) as maliyet,
((1.satir)-(2.satir )) as sonuc
from lg_001_clcard
group by...
bu tarz bir sey deneyerek baktinmi sonucu.yanliz bu bir ornektik kodlamayi ciddiye almayin.
(
yapmak istediğin şeyi anladım ama böyle birşey yapılması gereksiz. illa yapmak istiyorsan ve SQL 2005 kullanıyorsan ;
SELECT FATURATUTARI, FATURATUTARI - ISKONTO AS NETTUTAR, FROM DBO.LG_207_01_INVOICE
yerine
WITH cashedQuery AS
(
SELECT FATURATUTARI, FATURATUTARI - ISKONTO AS NETTUTAR,MALIYET, FROM DBO.LG_207_01_INVOICE
)
SELECT *,NETTUTAR-MALIYET as KAR FROM cashedQuery
sana cevaptır. Bir okadar da gereksizdir. [:D]