En iyi yanıtlayıcılar
Aynı verileri tek satır haline getirmek

Soru
-
Merhaba Arkadaşlar,
Aşağıda kod bölümünü girmeye çalıştım.
AS StockCode na göre aynı gelen Kodları nasıl tek satırda gösterebilirim.DISTINCT fonsksiyonu denedim hata verdi.
SELECT * FROM ( SELECT stok.sto_model_kodu AS CategoryCode,stok.sto_hammadde_kodu AS StockCode,stok.sto_yabanci_isim AS ModelName, ISNULL(stok_marka.mrk_ismi,' ') AS Manufacture,ISNULL(CAST(stok_fiyat.sfiyat_fiyati AS FLOAT),0) AS Price,ISNULL(CAST(stok_fiyat.sfiyat_fiyati AS FLOAT),0) AS ListPrice, CAST(ISNULL((stok_depo.DEPO_10+stok_depo.DEPO_1+stok_depo.DEPO_2+stok_depo.DEPO_3+stok_depo.DEPO_6+stok_depo.DEPO_7 +stok_depo.DEPO_8+stok_depo.DEPO_10+stok_depo.DEPO_12+stok_depo.DEPO_14+stok_depo.DEPO_20 ),0) AS INT) AS UnitInStock, (CASE WHEN sto_pasif_fl = 0 THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END) AS IsEnabled, dbo.fn_VergiYuzde(stok.sto_perakende_vergi) AS KDV, (CASE stok_fiyat.sfiyat_doviz WHEN 0 THEN 'TL' WHEN 1 THEN 'USD' WHEN 2 THEN 'EUR' WHEN 6 THEN 'CHR' ELSE 'TL' END) AS CurrencyType, CAST(1 AS INT) AS Desi FROM STOKLAR stok LEFT JOIN STOK_MARKALARI stok_marka ON stok.sto_marka_kodu = stok_marka.mrk_kod INNER JOIN STOK_SATIS_FIYAT_LISTELERI stok_fiyat ON stok.sto_kod = stok_fiyat.sfiyat_stokkod INNER JOIN dbo.FM_WEB_DEPO_MEVCUT_2 stok_depo ON stok.sto_kod = stok_depo.STOK LEFT JOIN STOK_ANAHAMMADDELERI stok_ana ON stok.sto_kod=stok_ana.ahm_kodu --INNER JOIN STOK_DEPO_DETAYLARI stok_depo ON stok.sto_kod = stok_depo.sdp_depo_kod WHERE stok_fiyat.sfiyat_listesirano IN(1)-- AND stok_fiyat.sfiyat_deposirano IN({1}) AND stok_depo.sdp_depo_no IN ({1}) ) AS URUNLER --WHERE URUNLER.UnitInStock > 0
Yanıtlar
-
Bende bunu geliştirdim :)
Sende bi dener misin?
--DISTINCT StockCode,CategoryCode,ModelName,Manufacture,Price,ListPrice,UnitInStock,IsEnabled,KDV,Desi SELECT DISTINCT StockCode,CategoryCode,Manufacture,ModelName,Price,ListPrice,IsEnabled,KDV,CurrencyType,Desi FROM ( SELECT stok.sto_hammadde_kodu AS StockCode, stok.sto_model_kodu AS CategoryCode, stok.sto_isim, stok.sto_yabanci_isim AS ModelName, stok.sto_kod AS StokNo, ISNULL(stok_marka.mrk_ismi,' ') AS Manufacture, ISNULL(CAST(stok_fiyat.sfiyat_fiyati *(1 + dbo.fn_VergiYuzde(stok.sto_perakende_vergi) /100) AS FLOAT),0)AS Price, ISNULL(CAST(stok_fiyat.sfiyat_fiyati*(1 + (dbo.fn_VergiYuzde(stok.sto_perakende_vergi))/100) AS FLOAT),0) AS ListPrice, (CASE WHEN sto_pasif_fl = 0 THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END) AS IsEnabled, dbo.fn_VergiYuzde(stok.sto_perakende_vergi) AS KDV, (CASE stok_fiyat.sfiyat_doviz WHEN 0 THEN 'TL' WHEN 1 THEN 'USD' WHEN 2 THEN 'EUR' WHEN 6 THEN 'CHR' ELSE 'TL' END) AS CurrencyType, CAST(1 AS INT) AS Desi, MAX(stok.sto_kod)AS TT FROM STOKLAR stok LEFT JOIN STOK_MARKALARI stok_marka ON stok.sto_marka_kodu = stok_marka.mrk_kod INNER JOIN STOK_SATIS_FIYAT_LISTELERI stok_fiyat ON stok.sto_kod = stok_fiyat.sfiyat_stokkod --INNER JOIN dbo.FM_WEB_DEPO_MEVCUT_2 stok_depo ON stok.sto_kod = stok_depo.STOK LEFT OUTER JOIN STOK_ANAHAMMADDELERI stok_ana ON stok.sto_kod=stok_ana.ahm_kodu --INNER JOIN STOK_DEPO_DETAYLARI stok_depo ON stok.sto_kod = stok_depo.sdp_depo_kod WHERE stok_fiyat.sfiyat_listesirano IN(1) AND stok.sto_hammadde_kodu<>'' --AND stok_fiyat.sfiyat_deposirano IN(1) AND stok_depo.sdp_depo_no IN (1) GROUP BY stok.sto_hammadde_kodu,stok.sto_model_kodu,stok.sto_isim,stok.sto_yabanci_isim,stok_marka.mrk_ismi,stok_fiyat.sfiyat_fiyati --,stok_depo.DEPO_10,stok_depo.DEPO_1,stok_depo.DEPO_2,stok_depo.DEPO_3,stok_depo.DEPO_6,stok_depo.DEPO_7 -- ,stok_depo.DEPO_8,stok_depo.DEPO_10,stok_depo.DEPO_12,stok_depo.DEPO_14,stok_depo.DEPO_20,stok.sto_pasif_fl,stok_fiyat.sfiyat_doviz, , stok.sto_perakende_vergi,stok.sto_kod,sto_pasif_fl,stok_fiyat.sfiyat_doviz ) AS T WHERE T.StockCode <> '' --WHERE URUNLER.UnitInStock > 0
- Yanıt Olarak İşaretleyen Emre Gunerturk 3 Ekim 2011 Pazartesi 09:03
Tüm Yanıtlar
-
Merhaba aşağıdaki kodu denemisiniz?
select * from ( SELECT *,ROW_NUMBER() over(partition by StockCode order by CategoryCode) sira FROM ( SELECT stok.sto_model_kodu AS CategoryCode,stok.sto_hammadde_kodu AS StockCode,stok.sto_yabanci_isim AS ModelName, ISNULL(stok_marka.mrk_ismi,' ') AS Manufacture,ISNULL(CAST(stok_fiyat.sfiyat_fiyati AS FLOAT),0) AS Price,ISNULL(CAST(stok_fiyat.sfiyat_fiyati AS FLOAT),0) AS ListPrice, CAST(ISNULL((stok_depo.DEPO_10+stok_depo.DEPO_1+stok_depo.DEPO_2+stok_depo.DEPO_3+stok_depo.DEPO_6+stok_depo.DEPO_7 +stok_depo.DEPO_8+stok_depo.DEPO_10+stok_depo.DEPO_12+stok_depo.DEPO_14+stok_depo.DEPO_20 ),0) AS INT) AS UnitInStock, (CASE WHEN sto_pasif_fl = 0 THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END) AS IsEnabled, dbo.fn_VergiYuzde(stok.sto_perakende_vergi) AS KDV, (CASE stok_fiyat.sfiyat_doviz WHEN 0 THEN 'TL' WHEN 1 THEN 'USD' WHEN 2 THEN 'EUR' WHEN 6 THEN 'CHR' ELSE 'TL' END) AS CurrencyType, CAST(1 AS INT) AS Desi FROM STOKLAR stok LEFT JOIN STOK_MARKALARI stok_marka ON stok.sto_marka_kodu = stok_marka.mrk_kod INNER JOIN STOK_SATIS_FIYAT_LISTELERI stok_fiyat ON stok.sto_kod = stok_fiyat.sfiyat_stokkod INNER JOIN dbo.FM_WEB_DEPO_MEVCUT_2 stok_depo ON stok.sto_kod = stok_depo.STOK LEFT JOIN STOK_ANAHAMMADDELERI stok_ana ON stok.sto_kod=stok_ana.ahm_kodu --INNER JOIN STOK_DEPO_DETAYLARI stok_depo ON stok.sto_kod = stok_depo.sdp_depo_kod WHERE stok_fiyat.sfiyat_listesirano IN(1)-- AND stok_fiyat.sfiyat_deposirano IN({1}) AND stok_depo.sdp_depo_no IN ({1}) ) AS URUNLER --WHERE URUNLER.UnitInStock > 0 ) t where sira=1
-
Bende bunu geliştirdim :)
Sende bi dener misin?
--DISTINCT StockCode,CategoryCode,ModelName,Manufacture,Price,ListPrice,UnitInStock,IsEnabled,KDV,Desi SELECT DISTINCT StockCode,CategoryCode,Manufacture,ModelName,Price,ListPrice,IsEnabled,KDV,CurrencyType,Desi FROM ( SELECT stok.sto_hammadde_kodu AS StockCode, stok.sto_model_kodu AS CategoryCode, stok.sto_isim, stok.sto_yabanci_isim AS ModelName, stok.sto_kod AS StokNo, ISNULL(stok_marka.mrk_ismi,' ') AS Manufacture, ISNULL(CAST(stok_fiyat.sfiyat_fiyati *(1 + dbo.fn_VergiYuzde(stok.sto_perakende_vergi) /100) AS FLOAT),0)AS Price, ISNULL(CAST(stok_fiyat.sfiyat_fiyati*(1 + (dbo.fn_VergiYuzde(stok.sto_perakende_vergi))/100) AS FLOAT),0) AS ListPrice, (CASE WHEN sto_pasif_fl = 0 THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END) AS IsEnabled, dbo.fn_VergiYuzde(stok.sto_perakende_vergi) AS KDV, (CASE stok_fiyat.sfiyat_doviz WHEN 0 THEN 'TL' WHEN 1 THEN 'USD' WHEN 2 THEN 'EUR' WHEN 6 THEN 'CHR' ELSE 'TL' END) AS CurrencyType, CAST(1 AS INT) AS Desi, MAX(stok.sto_kod)AS TT FROM STOKLAR stok LEFT JOIN STOK_MARKALARI stok_marka ON stok.sto_marka_kodu = stok_marka.mrk_kod INNER JOIN STOK_SATIS_FIYAT_LISTELERI stok_fiyat ON stok.sto_kod = stok_fiyat.sfiyat_stokkod --INNER JOIN dbo.FM_WEB_DEPO_MEVCUT_2 stok_depo ON stok.sto_kod = stok_depo.STOK LEFT OUTER JOIN STOK_ANAHAMMADDELERI stok_ana ON stok.sto_kod=stok_ana.ahm_kodu --INNER JOIN STOK_DEPO_DETAYLARI stok_depo ON stok.sto_kod = stok_depo.sdp_depo_kod WHERE stok_fiyat.sfiyat_listesirano IN(1) AND stok.sto_hammadde_kodu<>'' --AND stok_fiyat.sfiyat_deposirano IN(1) AND stok_depo.sdp_depo_no IN (1) GROUP BY stok.sto_hammadde_kodu,stok.sto_model_kodu,stok.sto_isim,stok.sto_yabanci_isim,stok_marka.mrk_ismi,stok_fiyat.sfiyat_fiyati --,stok_depo.DEPO_10,stok_depo.DEPO_1,stok_depo.DEPO_2,stok_depo.DEPO_3,stok_depo.DEPO_6,stok_depo.DEPO_7 -- ,stok_depo.DEPO_8,stok_depo.DEPO_10,stok_depo.DEPO_12,stok_depo.DEPO_14,stok_depo.DEPO_20,stok.sto_pasif_fl,stok_fiyat.sfiyat_doviz, , stok.sto_perakende_vergi,stok.sto_kod,sto_pasif_fl,stok_fiyat.sfiyat_doviz ) AS T WHERE T.StockCode <> '' --WHERE URUNLER.UnitInStock > 0
- Yanıt Olarak İşaretleyen Emre Gunerturk 3 Ekim 2011 Pazartesi 09:03