sql sorgusunu access de çalıştıramıyorum

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

sql sorgusunu access de çalıştıramıyorum

Mesaj gönderen erdogan_ozkaya »

Arkadaşlar,

Aşağıdaki kod ile MSSQL de bir tablomdaki borç alacak bakiye çıkartıyorum.

Aynı kodu, işlemi accessde nasıl yapabilirim ?

Tablo: SATIŞLAR
BORC,
ALACAK,
MUSTERI_NO


Tablo: MUSTERILER
MUSTERI_NO,
UNVAN


Teşekkürler

Kod: Tümünü seç

declare @bakiyeler table
( 
	MUSTERI_NO bigint,
	BOLGE nvarchar(500), 
	ACIKLAMA nvarchar(500),
	TELEFON nvarchar(500),
	AD_SOYAD nvarchar(500),
	BORC numeric(18,2),
	ALACAK numeric(18,2),
	BAKIYE numeric(18,2),
	DURUM  nvarchar(500)  

)

/******** bakiyeler tablosu oluştur***************/
insert into @bakiyeler 
/*****************************************************************/
select 
ct.KIMLIK,  
ct.BOLGE, 
ct.ACIKLAMA,
ct.TELEFON, 
ct.AD_SOYAD, 

 
sum(ch.BORC) as BORC, 
sum(ch.ALACAK) as ALACAK , 

(
sum(ch.BORC) -
sum(ch.ALACAK) 

)

 as BAKIYE, ct.AD_SOYAD 

from SATISLAR as ch, MUSTERILER as ct 
where 
ch.MUSTERI_NO = ct.KIMLIK 
 
group by ct.KIMLIK , ct.BOLGE, ct.ACIKLAMA,ct.TELEFON,ct.AD_SOYAD
 
/*********tüm hareketleri oluştur*******************************/


/*********3 tablo oluştur***********************/
/***işlemden sonra kullanım için 3 tabloların tüm kimliğini al****/
declare @borclular table (MUSTERI_NO bigint);
insert into @borclular select MUSTERI_NO from @bakiyeler where BAKIYE > 0

declare @alacaklilar table (MUSTERI_NO bigint);
insert into @alacaklilar select MUSTERI_NO from @bakiyeler where BAKIYE < 0

declare @temizler table (MUSTERI_NO bigint);
insert into @temizler select MUSTERI_NO from @bakiyeler where BAKIYE = 0 or BAKIYE = null
/*****bitiş********************/

/*******buradaki değişim tablosunda 3 durum güncelleme @bakiyeler***/
update @bakiyeler set DURUM = 'Borçlu' where MUSTERI_NO in ( select MUSTERI_NO from @borclular )
update @bakiyeler set DURUM = 'Alacaklı' where MUSTERI_NO in ( select MUSTERI_NO from @alacaklilar )
update @bakiyeler set DURUM = '-' where MUSTERI_NO in ( select MUSTERI_NO from @temizler )
/*******bitiş*************************************/


/*tüm tablo sonuşları burada*/
select * from @bakiyeler
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: sql sorgusunu access de çalıştıramıyorum

Mesaj gönderen erdogan_ozkaya »

Merhaba,

Belki işine yarayan olur.

Teşekkürler

SELECT MUSTERILER.KIMLIK, MUSTERILER.AD_SOYAD, MUSTERILER.ACIKLAMA, MUSTERILER.BOLGE, MUSTERILER.TELEFON, MUSTERILER.MUSTERI_NO, TOPLAM_ALACAK.*, TOPLAM_BORC.*
FROM TOPLAM_BORC INNER JOIN (TOPLAM_ALACAK INNER JOIN MUSTERILER ON TOPLAM_ALACAK.MUSTERI_NO = MUSTERILER.MUSTERI_NO) ON TOPLAM_BORC.MUSTERI_NO = MUSTERILER.MUSTERI_NO;
Cevapla