Sayfayı Yazdır | Pencereyi Kapat

birden fazla view'i tek bir viewe baglama

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: ERP Temel Paketler
Forum Adı: ERP Rapor Modülü
Forum Tanımlaması: Rapor Modülü İle İlgili Bilgiler ve Sorular İçin...
URL: http://www.erpne.org/forum_posts.asp?TID=1689
Tarih: 21 Ağustos 2025 Saat 16:40
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: birden fazla view'i tek bir viewe baglama
Mesajı Yazan: jung
Konu: birden fazla view'i tek bir viewe baglama
Mesaj Tarihi: 05 Ağustos 2009 Saat 13:10
 
   Merhabalar ,
 
Stok hareketleri ile ilgili 5 tane view kaydettim.
1. view de stoklarin günlük üretim miktarlari
2. view de stoklarin günlük hurda depoya transferleri
3. view de stoklarin günlük tamir depoya transferleri.
4...
5...
 
tüm bu vieweri yeni bir viewin altina koydum ve raporlamam gereken sütunlari seçtim
viewler arasinda sadece stok kodu bölümlerini iliskilendirerek raporu çalistirdim ama rapor bos çikiyor .
 
Her bir view kendi basinayken çalisiyor ancak hepsini bir baska viewle birlestirdigimde view çalismiyor.
bir baska sütunu dahami iliskilendirmem lazim
 
 
Almaya çalistigim rapor su sekilde
 
Iki tarih araliginda;
stok kodu   stok adi           üretim miktari     hurdaya giden     tamire giden       tamirden gelen     tamirden hurdaya giden
 
 
basliklarin tek satirda hesaplanmasi gerekmekte
 
 
baska bir yol varmi önerilere açigim
:)
  



Cevaplar:
Mesajı Yazan: jung
Mesaj Tarihi: 05 Ağustos 2009 Saat 13:47
1. view
 
 
 
SELECT     TOP (100) PERCENT dbo.TBLSTHAR.STOK_KODU AS STOKKODU, SUM(dbo.TBLSTHAR.STHAR_GCMIK) AS GIRCIKMIK,
                      dbo.TBLSTHAR.STHAR_TARIH AS TARIH, dbo.TBLSTHAR.STHAR_ACIKLAMA AS ACIKLAMA, COUNT(*) AS Expr2, dbo.TBLSTSABIT.GRUP_KODU,
                      dbo.TBLSTSABIT.KOD_1, dbo.TBLSTSABIT.KOD_2, dbo.TBLSTSABIT.KOD_3, dbo.TBLSTSABIT.KOD_4, dbo.TBLSTSABIT.KOD_5,
                      dbo.TBLSTHAR.DEPO_KODU AS Expr1, dbo.TBLSTHAR.EKALAN AS ARIZA_KODU, dbo.TBLSTHAR.EKALAN1 AS PRES_NO,
                      dbo.TBLSTHAR.STHAR_HTUR, dbo.TBLSTHAR.STHAR_GCKOD
FROM         dbo.TBLSTHAR INNER JOIN
                      dbo.TBLSTSABIT ON dbo.TBLSTHAR.STOK_KODU = dbo.TBLSTSABIT.STOK_KODU
GROUP BY dbo.TBLSTHAR.STOK_KODU, dbo.TBLSTHAR.STHAR_TARIH, dbo.TBLSTHAR.STHAR_ACIKLAMA, dbo.TBLSTSABIT.GRUP_KODU,
                      dbo.TBLSTSABIT.KOD_1, dbo.TBLSTSABIT.KOD_2, dbo.TBLSTSABIT.KOD_3, dbo.TBLSTSABIT.KOD_4, dbo.TBLSTSABIT.KOD_5,
                      dbo.TBLSTHAR.DEPO_KODU, dbo.TBLSTHAR.EKALAN1, dbo.TBLSTHAR.EKALAN, dbo.TBLSTHAR.STHAR_HTUR,
                      dbo.TBLSTHAR.STHAR_GCKOD
HAVING      (dbo.TBLSTHAR.DEPO_KODU = 30) AND (dbo.TBLSTHAR.STHAR_ACIKLAMA = 'Uretim')
ORDER BY dbo.TBLSTSABIT.KOD_1, dbo.TBLSTSABIT.KOD_2, STOKKODU, ACIKLAMA


Mesajı Yazan: Conari
Mesaj Tarihi: 05 Ağustos 2009 Saat 13:47
viewleri incelemek lazim

-------------
Netsisden vazgeçemiyorum. Beni engelliyor..


Mesajı Yazan: jung
Mesaj Tarihi: 05 Ağustos 2009 Saat 13:48
2. view
 
 
SELECT     TOP (100) PERCENT dbo.TBLSTHAR.STOK_KODU AS STOKKODU, SUM(dbo.TBLSTHAR.STHAR_GCMIK) AS GIRCIKMIK,
                      dbo.TBLSTHAR.STHAR_TARIH AS TARIH, dbo.TBLSTHAR.STHAR_ACIKLAMA AS ACIKLAMA, COUNT(*) AS Expr2, dbo.TBLSTSABIT.GRUP_KODU,
                      dbo.TBLSTSABIT.KOD_1, dbo.TBLSTSABIT.KOD_2, dbo.TBLSTSABIT.KOD_3, dbo.TBLSTSABIT.KOD_4, dbo.TBLSTSABIT.KOD_5,
                      dbo.TBLSTHAR.DEPO_KODU AS Expr1, dbo.TBLSTHAR.EKALAN AS ARIZA_KODU, dbo.TBLSTHAR.EKALAN1 AS PRES_NO,
                      dbo.TBLSTHAR.STHAR_HTUR, dbo.TBLSTHAR.STHAR_GCKOD
FROM         dbo.TBLSTHAR INNER JOIN
                      dbo.TBLSTSABIT ON dbo.TBLSTHAR.STOK_KODU = dbo.TBLSTSABIT.STOK_KODU
GROUP BY dbo.TBLSTHAR.STOK_KODU, dbo.TBLSTHAR.STHAR_TARIH, dbo.TBLSTHAR.STHAR_ACIKLAMA, dbo.TBLSTSABIT.GRUP_KODU,
                      dbo.TBLSTSABIT.KOD_1, dbo.TBLSTSABIT.KOD_2, dbo.TBLSTSABIT.KOD_3, dbo.TBLSTSABIT.KOD_4, dbo.TBLSTSABIT.KOD_5,
                      dbo.TBLSTHAR.DEPO_KODU, dbo.TBLSTHAR.EKALAN1, dbo.TBLSTHAR.EKALAN, dbo.TBLSTHAR.STHAR_HTUR,
                      dbo.TBLSTHAR.STHAR_GCKOD
HAVING      (dbo.TBLSTHAR.DEPO_KODU = 30) AND (dbo.TBLSTHAR.STHAR_ACIKLAMA = '30-50')
ORDER BY dbo.TBLSTSABIT.KOD_1, dbo.TBLSTSABIT.KOD_2, STOKKODU, ACIKLAMA


Mesajı Yazan: jung
Mesaj Tarihi: 05 Ağustos 2009 Saat 13:50

diger viewler bu sekilde sadece STHAR_ACIKLAMA'nin kisiti degisiyor.



Mesajı Yazan: mbaykan
Mesaj Tarihi: 05 Ağustos 2009 Saat 16:58
Ben view mantigini anlatayim siz view'lari revize dersiniz.

önce tüm view'lari group by yapmadan tek bir view'a toplayin. örnegin
CREATE VIEW MY_VIEW AS
SELECT sthar_tarih as tarih,A.STOK_KODU,B.STOK_ADI,STHAR_GCMIK URETIM,
0 hurda ,0 tamir1,0 tamir2,0 hurda2
FROM TBLSTHAR A,TBLSTSABIT B
WHERE sthar_tarih,A.STOK_KODU=B.STOK_KODU AND STHAR_GCKOD='G' AND STHAR_ACIKLAMA='Uretim' --(üretim için kullandiginiz kosul)
UNION ALL SELECT STHAR_TARIH,A.STOK_KODU,B.STOK_ADI,0,STHAR_GCMIK,0,0,0
SELECT FROM TBLSTHAR A,TBLSTSABIT B
WHERE A.STOK_KODU=B.STOK_KODU AND STHAR_GCKOD='C' AND STHAR_ACIKLAMA='30-50' --(Hurda için kosullar)
UNION ALL
SELECT STHAR_TARIH,A.STOK_KODU,B.STOK_ADI,0,0,STHAR_GCMIK,0,0
SELECT FROM TBLSTHAR A,TBLSTSABIT B
WHERE A.STOK_KODU=B.STOK_KODU AND STHAR_GCKOD='C' AND STHAR_ACIKLAMA='' --(Ariza için kosuular)


benzer sekilde diger 2 bölüm içinde bu view!i uzatirsak
Artik son sorguyu söyle yazariz
SELECT TARIH,STOK_KODU,STOK_ADI,SUM(URETIM),SUM(HURDA), ...
FROM MY_VIEW
GROUP BY STOK_KODU,STOK_ADI
WHERE TARIH BETWEEN '2009-07-01' AND '2009-07-31'
seklinde raporu alabilirz.
stok_karti ve hareketlerdeki diger sahalari view'a eklemedim. eklenebilir, ya da gerekmeyebilir.
Kolay gelsin

-------------
Mehmet Baykan



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 11.10 - http://www.webwizforums.com
Copyright ©2001-2017 Web Wiz Ltd. - https://www.webwiz.net