View alan bağlantı sorunu???
View alan bağlantı sorunu???
Selamlar...
Arkadaşlar iki adet table kullanarak bi view oluşturuyorum.Alanlar şu
şekilde;
Table 1
ISEMRI
STOKKOD
NETMT
Table2
ISEMRI
FIRMAAD
İki tabloyu işemri alanından birbirine bağladım (left-right-full outer join
hepsini denedim) ama Table1 de ISEMRI alanlarından bazıları NULL olduğu için
null olan kayıtları kesiyor. Ben kesmesini istemiyorum. Table1 deki bütün
kayıtlar gelsin null alanlarda gelsin istiyorum. Bi kaç farklı yöntem
denedim ama olmadı. Acaba bunun bi yolu varmı??
Arkadaşlar iki adet table kullanarak bi view oluşturuyorum.Alanlar şu
şekilde;
Table 1
ISEMRI
STOKKOD
NETMT
Table2
ISEMRI
FIRMAAD
İki tabloyu işemri alanından birbirine bağladım (left-right-full outer join
hepsini denedim) ama Table1 de ISEMRI alanlarından bazıları NULL olduğu için
null olan kayıtları kesiyor. Ben kesmesini istemiyorum. Table1 deki bütün
kayıtlar gelsin null alanlarda gelsin istiyorum. Bi kaç farklı yöntem
denedim ama olmadı. Acaba bunun bi yolu varmı??
west
Re: View alan bağlantı sorunu???
Merhaba;gokcemt yazdı:Selamlar...
İki tabloyu işemri alanından birbirine bağladım (left-right-full outer join
hepsini denedim)
Yukarıda kendi sorunuza kendiniz cevap vermişsiniz . Birleştirmeyi nasıl yaptınız bilmiyorum!!! ama;
Yapmanız gerek basit aslında iki alanda key olan alanı birden çoka birleştirme yapmanız gerekiyor hani vtdeki tüm kayıtları göstermek istiyorsanız diğer vtyi çoklu birleştirin olsun bitsin.
Nasıl bir kod kullanıdığınız yazarsanız çözeriz.
Saygılarımla
Kolay gelsin.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
Kod: Tümünü seç
SELECT T1.TARIH, T1.STOKKOD, T1.ISEMRI, T1.SIPSIRANO,
T1.SIPARIS, T1.TOPNO, T1.NETMT, T2.FASONFIRMA
FROM T10 LEFT OUTER JOIN
T2 ON T1.ISEMRI = T2.ISEMRI
T1 e tek başına select çektiğimde 100 kayıt geliyor.
İşemrinden T2ye bağladığımda 70 kayıt geliyor.
T1 de 30 adet ISEMRI NULL alan var.
ama ben bu null alanlarda gelsin istiyorum.
ISEMRInden bağlı olduğu için T1 de ISEMRI null olunca almıyor o satırı.
30 kayıtı kesiyor 70 gösteriyor.
100 kayıt gelmeli null alanlar dahil ama nasıl?
west
Left join yaparken NULL'ları da dahil etmelisiniz:
NULL = NULL doğru değildir (TRUE sonuç vermez).
İyi çalışmalar.
Kod: Tümünü seç
LEFT OUTER JOIN
T2 ON (T1.ISEMRI = T2.ISEMRI) OR (T1.ISEMRI IS NULL AND T2.ISEMRI IS NULL)
İyi çalışmalar.
Kod: Tümünü seç
SELECT T1.TARIH, T1.STOKKOD, T1.ISEMRI, T1.SIPSIRANO,
T1.SIPARIS, T1.TOPNO, T1.NETMT,
T2.FASONFIRMA
FROM T1 LEFT OUTER JOIN
T2 ON (T1.ISEMRI = T2.ISEMRI)
OR (T1.ISEMRI IS NULL AND T2.ISEMRI IS NULL)
cevap için öncelikle çok teşekkür ederim.
dediğiniz şekilde uyguladım fakat halen T1 de
ISEMRI alanı null olan 30 kayıtı vermiyor.
70 kayıt gösteriyor.
T2 yi ISEMRI alanında T1 e bağlayıp
T2.FASONFIRMA alanını alıyorum.
T1de işemri olmayan satırları göstermiyor.
Aslında gösterip ISEMRI = NULL ve FASONFIRMA= NULL olarak 30 kayıtıda göstermesi gerekiyor.[/code]
west
-------T1--------- ------------------T2----------
ISEMRI------------------------- ISEMRI
TARIH------------------------- FASONFIRMA
STOKKOD
SIPSIRANO
SIPARIS
TOPNO
NETMT
İki tabloyu işemri alanından bağlıyorum. T1 recordcountu=100 işemri alanından T2 ye bağladığımda recordcount=70 oluyor. Bunun sebebi T1 tablosunda 30 adet kayıt ISEMRI boş olması. ama ben o boş olan satırlarıda getirmesini istiyorum.sonuç şu şekilde
ISEMRI------TARIH------STOKKOD.......FASONFIRMA
123-----------2005-------AAA1-------------FIRMA1
456-----------2005-------BBB1-------------FIRMA2
NULL----------2005------CCC1-------------NULL
sonuçların dönmesi gerekirken işemri NULL olan alanı hiç almıyor.
ISEMRI------------------------- ISEMRI
TARIH------------------------- FASONFIRMA
STOKKOD
SIPSIRANO
SIPARIS
TOPNO
NETMT
İki tabloyu işemri alanından bağlıyorum. T1 recordcountu=100 işemri alanından T2 ye bağladığımda recordcount=70 oluyor. Bunun sebebi T1 tablosunda 30 adet kayıt ISEMRI boş olması. ama ben o boş olan satırlarıda getirmesini istiyorum.sonuç şu şekilde
ISEMRI------TARIH------STOKKOD.......FASONFIRMA
123-----------2005-------AAA1-------------FIRMA1
456-----------2005-------BBB1-------------FIRMA2
NULL----------2005------CCC1-------------NULL
sonuçların dönmesi gerekirken işemri NULL olan alanı hiç almıyor.
west
Bu tür, bir tabloda olup diğerinde olmayan verileri de getirme sorgularında LEFT JOIN veya RIGHT JOIN kullanmanız lazım. Bunun için bir makale hazırlamıştım ben zamanında:
viewtopic.php?t=9193&highlight=left+join
viewtopic.php?t=9193&highlight=left+join