2 tablo farkı

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
ovural
Üye
Mesajlar: 167
Kayıt: 22 Eki 2003 10:20
İletişim:

2 tablo farkı

Mesaj gönderen ovural »

Paradox Veritabanı kullandım ..

Bir tabloda Kayıtlı olup diğerinde kayıtlı olmayan sql kodunu yazamadım ?
En son ovural tarafından 30 Oca 2004 04:49 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Lütfen konu başlığını düzeltin ve Forum Kurallarını okuyun. Yoksa bu mesajı sileceğim.

Kolay gelsin.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Kod: Tümünü seç

SELECT * FROM TABLO1 
WHERE ALAN1 NOT IN (SELECT ALAN1 FROM TABLO2)
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

SQL ile minus'u kullanarak yapılabilir ama paradox destekler mi bilmiyorum. Denemekte fayda var.

SELECT ID
FROM TABLO1
MINUS
SELECT ID
FROM TABLO2

burda tablolardaki anahtar alanın ID olduğunu varsaydım.

Kolay gelsin.
Kullanıcı avatarı
ovural
Üye
Mesajlar: 167
Kayıt: 22 Eki 2003 10:20
İletişim:

Mesaj gönderen ovural »

naile nin yazdığı oldu .. lakin onu bende denedim ..
benim 2 alan icin sınama yapmam lazım hata veriyor ..


Select * From tablo1
Where Alan1,Alan2 Not in (Select Alan1,Alan2 From Tablo)


bu şekilde hata veriyor
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

hocam ilk başta yazdığın alanları parantez içine alman lazım. Yani 2. satır şöyle olmalı :

Where (Alan1,Alan2) Not in (Select Alan1,Alan2 From Tablo)

Kolay gelsin.
Kullanıcı avatarı
ovural
Üye
Mesajlar: 167
Kayıt: 22 Eki 2003 10:20
İletişim:

Mesaj gönderen ovural »

olmuyor ... hata veriyor ...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

ovural yazdı:hata veriyor ...
daha önceleri de çok söyledim, hata veriyor sözü bana birşey ifade etmiyor. Ne hatası veriyor, varsa numarası ile birlikte tam hata metnini yazın.

Kolay gelsin.
Kullanıcı avatarı
ovural
Üye
Mesajlar: 167
Kayıt: 22 Eki 2003 10:20
İletişim:

Mesaj gönderen ovural »

daha once ne yazdığınızı bilemem karşılaşmadım ..


Invalid use keyword.
Token: ,Alan2)



hatasını veriyor ..
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

hocam dün 2 tablo oluşturup denedim.

- minus desteklemiyor
- alt sorguyu tek id verirsen destekliyor, ancak senin yaptığın gibi 2 veya daha fazla anahtar alan verirsen çalışmıyor. Alanları indexleyip denemedim ama. Şimdi yazarken aklıma geldi :roll:

Ya id'yi teke indireceksin, ya da kodla yapacaksın. İki alanı da indeksleyip bir denemende fayda var.

Kolay gelsin.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Kod: Tümünü seç

SELECT * FROM TABLO1 
WHERE (ALAN1 NOT IN (SELECT ALAN1 FROM TABLO2))  AND
           (ALAN2 NOT IN (SELECT ALAN2 FROM TABLO2))
gibi kullanabilirsiniz :) Bunu 3, 4, 5 gibi çoğaltabilirsiniz ama yavaşlar hem de çok yavaşlar.

Kolay gelsin.
Cevapla