Aynı field isimlerine sahip iki dbf dosyasını karşılaştırıp farklı olan bilgileri üçüncü bir dbf dosyasına nasıl yazdırabilirim...
Yardımlarınız için şimdiden teşekkürler.
Aynı field isimlerine sahip iki dbf dosyasını karşılatır
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
eger dbf'deki butun alanari karsilastiracaksaniz bir dongu icinde her kaydin aynisinin diger tabloda olup olmadigini bir select cümlesi ile karsilastirip diger tabloya farklı kayıtları atmalısınız... Bir tablodaki ilgili kaydin diger tabloda olup olmadigini asagidaki gibi bir cumle ile anlayabilirsiniz where kısmına butun alanları birer kosul oalkra koyup eger KAYIT_SAYISI 0 cikarsa aynı kayıt diger tabloda yok demektir....
Yok eger sadece tek bir alanın iki tablo arasinda karsilastirmasini yapcaksaniz da o zaman bir insert into cümleisni takip eden select cümlesi ile halledebilirsiniz....
Kod: Tümünü seç
Select count(*) as KAYIT_SAYISI
from TABLO2
where ALAN1=1 and ALAN2=35 and AD='Ahmet' ......
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

Kod: Tümünü seç
where ALAN1=1 and ALAN2=35
Teşekkürler.
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.

misal olaraktan verdim.... Yani o an ustunde bulunulan kaydın ALAN1 degeri 1 ise ve ALAN2 degeri 35 ise vs..... bu kaydin diger tabloda olup olmadigi bu şekilde anlaşılır anlamında....
Kolay gelsin....
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

Şöyle olabilir :
SELECT * FROM TABLE1, TABLE2 where Table1.ALAN1<>Table2.ALAN1 and table1.ALAN2<>Table2.ALAN2 and table1.ALAN3<>table2.ALAN3 and ... v.s.
gibi bir kod yazın. Yani alanların tümü de eşit olmayanları bulun. Oluşan bu SQL tablosundan 3 ncü table a bir döngü vasıtası ve INSERT INTO kullanarak aktarın...
Ancak Bu şekilde olabilir gibi geliyor bana...
Sevgiler...
SELECT * FROM TABLE1, TABLE2 where Table1.ALAN1<>Table2.ALAN1 and table1.ALAN2<>Table2.ALAN2 and table1.ALAN3<>table2.ALAN3 and ... v.s.
gibi bir kod yazın. Yani alanların tümü de eşit olmayanları bulun. Oluşan bu SQL tablosundan 3 ncü table a bir döngü vasıtası ve INSERT INTO kullanarak aktarın...
Ancak Bu şekilde olabilir gibi geliyor bana...
Sevgiler...
Geçip gideriz bizde ağızsız,dilsiz ve sorgusuz
İstanbul gibi düşeriz iki kıtaya birden...
En aşağılık düş, en büyük sevdadan belki
Erkek ölümler; bir uzun iç çekişle büyür göğsümüz
İstanbul gibi düşeriz iki kıtaya birden...
En aşağılık düş, en büyük sevdadan belki
Erkek ölümler; bir uzun iç çekişle büyür göğsümüz
Sair bey bu kodun soyle bir dezavantaji var malesef. Bir kartesyen çarpım oluşturacağı için her iki tarafta birbirinden farklı olan kayıt sayilarinin çarpımı kadar sonuç üretir... Fakat belki distinct ile ve sadece tek bir tablodan veri çekmek ile halledilebilir emin olamiyorum denemek lazim....
Bu sonuc elde edilirse bu selectin onune bir insert into koymak yetecektir... Yani dongu olmasina gerek yok...Bu yapı ile bir select cümlesinin sonucu toplu olarak bir tabloya insert edilebilir...
Kolay gelsin...
Bu sonuc elde edilirse bu selectin onune bir insert into koymak yetecektir... Yani dongu olmasina gerek yok...
Kod: Tümünü seç
insert into TABLO1(ALAN1,ALAN2,ALAN3,.... ALAN15)
select ALAN1,ALAN2,ALAN3,.... ALAN15
from ....
where.....
Kolay gelsin...
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...
