Alt Sorgu Kullanarak Veri aktarımı

Katılım
18 Ocak 2008
Mesajlar
7
Excel Vers. ve Dili
Office Xp(Excel)
Sorgu Kullanarak Veri aktarımı

Selamün aleyküm;

Hayırlı günler arkadaşlar sorum ilişlkisel tablolar ile veri alış verişi hakkında olucaktı.

Access veritabanı kullanıyorum, 2 tane tablom var bunlardan 1. Musteri adında, 2. ise Hareket adında.


Musteri tablosu alanları;
StokHesapID<---------> Otomatik Sayı
Hesap <---------> Metin
StokKartiID <---------> Metin
Sorumlu <---------> Metin
Bakiye <--------->Para Birimi

Hareket tablosu alanları;
StokHareketID<---------> Otomatik Sayı
StokKartiID <---------> Metin
Eklenen <--------->Para Birimi
Odenen <--------->Para Birimi


olarak tanımlı.Musteri ve Hareket tablolarında StokKartiID kısımları birbirine bağlantılı...

Örnek;
Musteri Tablosu kayıtları aşağıdaki gibi olsun...

StokHesapID<-->Hesap<---->StokKartiID<--------->Sorumlu<--------->Bakiye
1 <---------> aktif<---->bilgisayarci<---------> deneme1<---------> 0,00 YTL
2 <---------> aktif<---->muhasebeci<--------->deneme2<---------> 0,00 YTL
3 <---------> aktif<---->elektronik<---------> deneme3<---------> 0,00 YTL

Hareket Tablosu kayıtları aşağıdaki gibi olsun...

StokHareketID<-->StokKartiID<----->Eklenen<--------->Odenen
1 <--------->1 <--------->15,00 YTL<---------> 0,00 YTL
2 <--------->2 <--------->17,15 YTL<---------> 0,00 YTL
3 <--------->1 <--------->0,00 YTL<---------> 10,00 YTL

Şimdi sorumu geliyorum: şimdi ben sorgu kullanarak Muşteri Tablosunun görünümünün

StokHesapID<-->Hesap<---->StokKartiID<--------->Sorumlu<--------->Bakiye
1 <---------> aktif<---->bilgisayarci<---------> deneme1<---------> 5,00 YTL
2 <---------> aktif<---->muhasebeci<--------->deneme2<---------> 17,15 YTL
3 <---------> aktif<---->elektronik<---------> deneme3<---------> 0,00 YTL
Olarak görünmesini istiyorum.

Not:Ben aşağıdaki gibi bir sorgu kullandım ama olmadı bu konu hakkında yardımcı olursanız sevinirim.Şimdiden yardımlarınızdan dolayı teşekkür ederim.


Kod:
SELECT *
FROM musteri
WHERE (((musteri.Bakiye)=(SELECT Sum(hareket.Eklenen-hareket.Odenen)
FROM hareket where musteri.StokKartiID=hareket.StokKartiID)));
 
Son düzenleme:
Katılım
15 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
Ms Office 2003 Türkçe
Kod:
SELECT m.StokHesapID, m.Hesap, m.StokKartiID, m.Sorumlu, nz((select sum(eklenen-odenen) from hareket where stokkartiId = m.stokkartiID),0) AS Bakiye
FROM musteri m;
 
Katılım
18 Ocak 2008
Mesajlar
7
Excel Vers. ve Dili
Office Xp(Excel)
Kod:
SELECT m.StokHesapID, m.Hesap, m.StokKartiID, m.Sorumlu, nz((select sum(eklenen-odenen) from hareket where stokkartiId = m.stokkartiID),0) AS Bakiye
FROM musteri m;
Say&#305;n yeni54;

vermi&#351; oldu&#287;unuz kod i&#351;e yarad&#305;, bunun i&#231;in te&#351;ekk&#252;r ederim.Fakat benim sizden bir ricam daha olucak kodu a&#231;&#305;klama imkan&#305;n&#305;z varsa sevinirim.&#214;zellikle "nz" ile ba&#351;l&#305;yon kod sat&#305;r&#305;n&#305;.
 
Katılım
15 Kasım 2006
Mesajlar
583
Excel Vers. ve Dili
Ms Office 2003 Türkçe
Burada alt sorgu mant&#305;&#287;&#305; kullan&#305;ld&#305;.

Select ile ba&#351;layan sorgu c&#252;mleleri, tek kay&#305;t d&#246;nd&#252;rmek &#351;art&#305; ile herhangi bir sorgu c&#252;mlesinin bir alan&#305; olarak kullan&#305;labilir.

Where &#351;art&#305;nda, herhangi bir alana e&#351;it veya exist veya in mant&#305;&#287;&#305; ile kullan&#305;labilir.

....From dan sonra herhangi bir tabloymu&#351; gibi kullan&#305;labilir. yani ... from (select * from musteriler) gibi.

Sizin sorgunuza gelecek olursak,
bu sorgu, t&#252;m musteri tablosunun kay&#305;tlar&#305;n&#305; s&#305;ra ile listeliyor.
musteri tablosunun her sat&#305;r&#305;ndaki stokkartiID alan&#305;na e&#351;it olah hareket tablosundaki eklenen-odenen fark&#305;n&#305;n toplam&#305;n&#305; al&#305;yor.
Buradaki can al&#305;c&#305; nokta, i&#231;teki select teki where stokkartiId = m.stokkartiID &#351;art&#305;.. Bu &#351;art sayesinde okunan her bir musteri sat&#305;r&#305;na kar&#351;&#305;l&#305;k, bu sat&#305;rdaki m.stokkartiID ye ait hareket tablosundaki &#351;arta uyan t&#252;m kay&#305;tlar&#305;n i&#351;leme sokuluyor olmas&#305;.

Umar&#305;m faydal&#305; olmu&#351;tur.
 
Katılım
18 Ocak 2008
Mesajlar
7
Excel Vers. ve Dili
Office Xp(Excel)
Say&#305;n yeni54;

yazm&#305;&#351; oldu&#287;unuz koddan ve a&#231;&#305;klamalar&#305;n&#305;zdan &#246;t&#252;r&#252; &#231;ok te&#351;ekk&#252;r ederim.&#304;yi &#231;al&#305;&#351;malar dilerim.

Selametle.
 
Katılım
18 Ocak 2008
Mesajlar
7
Excel Vers. ve Dili
Office Xp(Excel)
Say&#305;n yeni54;

yazm&#305;&#351; oldu&#287;unuz koddan ve a&#231;&#305;klamalar&#305;n&#305;zdan &#246;t&#252;r&#252; te&#351;ekk&#252;r ederim.&#304;yi &#231;al&#305;&#351;malar dilerim.

Selametle.
 
Üst