SATIS_DETAY tabloda giriş çıkışları tutuyorum aşağıdaki kod ile nekadar girmiş nekadar çıkmış ona bakıyorum ama bir türlü doğru sonuca ulaşamıyorum 2 adet giriş iki adet çıkış olan bir ürüne 4 adet giriş diyor nerede hata yapıyorum acaba ?
teşekkürler
Kod: Tümünü seç
SELECT SK.URUN_KIMLIK, SK.URUN_ACIKLAMA, SK.SATIS_FIYATI, SK.ALIS_FIYATI,
ISNULL(SUM(CKN.URUN_MIKTARI), 0) AS CIKAN,
ISNULL(SUM(GRN.URUN_MIKTARI), 0) AS GIREN,
ISNULL(SUM(GRN.URUN_MIKTARI), 0) - ISNULL(SUM(CKN.URUN_MIKTARI), 0) AS DEPO_KALAN,
ISNULL(SUM(SK.ALIS_FIYATI), 0) * ISNULL(SUM(GRN.URUN_MIKTARI), 0) AS GIRIS_TOPLAM_TUTAR,
ISNULL(SUM(SK.SATIS_FIYATI), 0) * ISNULL(SUM(CKN.URUN_MIKTARI), 0) AS CIKIS_TOPLAM_TUTAR,
ISNULL(SUM(SK.SATIS_FIYATI), 0) *
ISNULL(SUM(CKN.URUN_MIKTARI), 0) -
ISNULL(SUM(SK.ALIS_FIYATI), 0) *
ISNULL(SUM(GRN.URUN_MIKTARI), 0) AS KAR_ZARAR
FROM URUN_KARTLARI AS SK LEFT OUTER JOIN
SATIS_DETAYI AS CKN ON CKN.URUN_KIMLIK = SK.URUN_KIMLIK AND CKN.FIS_TURU = 'Satış Fişi' AND CKN.HESAP_DURUMU = 'Kapalı Satış' LEFT OUTER JOIN
SATIS_DETAYI AS GRN ON GRN.URUN_KIMLIK = SK.URUN_KIMLIK AND GRN.FIS_TURU = 'Ürün Girişi' AND GRN.HESAP_DURUMU = 'Ürün Girişi'
GROUP BY SK.URUN_KIMLIK, SK.URUN_ACIKLAMA, SK.SATIS_FIYATI, SK.ALIS_FIYATI
buda sql
Kod: Tümünü seç
USE
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[SATIS_DETAYI](
[HAREKET_KIMLIK] [int] IDENTITY(1,1) NOT NULL,
[MAGAZA] [varchar](500) NOT NULL,
[EKLEYEN_PERSONEL] [varchar](500) NULL,
[KATEGORI_KIMLIK] [varchar](500) NULL,
[URUN_KIMLIK] [varchar](500) NULL,
[URUN_MIKTARI] [float] NULL,
[BIRIM_FIYATI] [float] NULL,
[TARIH] [datetime] NULL,
[FIS_TURU] [varchar](500) NULL,
[HESAP_DURUMU] [varchar](500) NULL,
[MASA_NO] [varchar](500) NULL,
CONSTRAINT [PK_SATIS_DETAYI] PRIMARY KEY CLUSTERED
(
[HAREKET_KIMLIK] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[SATIS_DETAYI] ADD CONSTRAINT [DF_SATIS_DETAYI_TARIH] DEFAULT (getdate()) FOR [TARIH]
GO
ALTER TABLE [dbo].[SATIS_DETAYI] ADD CONSTRAINT [DF_SATIS_DETAYI_FIS_TURU] DEFAULT ('Satış Fişi') FOR [FIS_TURU]
GO
ALTER TABLE [dbo].[SATIS_DETAYI] ADD CONSTRAINT [DF_SATIS_DETAYI_HESAP_DURUMU] DEFAULT ('Açık Satış') FOR [HESAP_DURUMU]
GO