Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Tek satırda birden fazla join
#1
Mrb;

   Bir işlem satırında birden fazla alanda join işlemi yapmam gerekiyor. Satırda join ile işlemi yapan müşteri adı ve çekin ciro edildiği müşteri adı nı almam gerekiyor. Fakat sorgu sonucunda 2 satır ve tek müşteri adı alanı geliyor. Ben ise tek satır ve çift müşteri adı bilgisi almam gerekiyor. Müşteri Adı,Ciro edilen müşteri adı gibi iki alan olmalı. Bu işlemi SQL Serverda yapabiliyormuyuz.

 ERg29B.png

Ekrandaki inner join left join olacak. Umarım anlatabilmişimdir. Bu yapı join ile olmuyorsa nasıl bir yöntem uygulamalıyım
Cevapla
#2
Merhaba
alias kullanarak yapabilirsin.

SQL'i resim değil kod olarak yazabilir misin.
Cevapla
#3
SELECT        doc_finance.*, 
              card_customer.title_ticarihesapkod as musterikod, card_customer.title_ticarihesapad as musteriad

FROM            doc_finance 

LEFT JOIN      card_customer ON 
						 
					             card_customer.ID  = doc_finance.ID_ticarihesap 
						 AND card_customer.ID  = doc_finance.ID_anaciro  
						 AND card_customer.ID  = doc_finance.ID_ciroticari
Cevapla
#4
SELECT doc_finance.*,
           CC1.title_ticarihesapkod as musterikod, 
           CC2.title_ticarihesapad as musteriad,
           CC3.???
FROM            doc_finance
LEFT JOIN     card_customer CC1 ON doc_finance.ID_ticarihesap =  CC1.ID
LEFT JOIN     card_customer CC2 ON doc_finance.ID_anaciro   =  CC2.ID
LEFT JOIN     card_customer CC3 ON doc_finance.ID_ciroticari =  CC3.ID
Cevapla
#5
Thumbs Up 
SELECT doc_finance.*,
CC1.title_ticarihesapad as musteriad, CC1.title_ticarihesapkod as musterikod,
CC2.title_ticarihesapad as anaciromusteriad, CC2.title_ticarihesapkod as anaciromusterikod,
CC3.title_ticarihesapad as ciroticarimusteriad , CC3.title_ticarihesapkod as ciromusterikod

FROM doc_finance

LEFT JOIN card_customer CC1 ON doc_finance.ID_ticarihesap = CC1.ID
LEFT JOIN card_customer CC2 ON doc_finance.ID_anaciro     = CC2.ID
LEFT JOIN card_customer CC3 ON doc_finance.ID_ciroticari  = CC3.ID

Çalıştı :Smile  Çok teşekkür ederim  Smile Smile Smile
Cevapla
#6
tebrikler,

aşağıdaki gibi yazarsan daha sağlıklı olacağını düşünüyorum

SELECT  DF.*,
        CC1.title_ticarihesapad  as musteriad,
        CC1.title_ticarihesapkod as musterikod,
        CC2.title_ticarihesapad  as anaciromusteriad,
        CC2.title_ticarihesapkod as anaciromusterikod,
        CC3.title_ticarihesapad  as ciroticarimusteriad,
        CC3.title_ticarihesapkod as ciromusterikod

FROM    doc_finance as DF
LEFT OUTER JOIN card_customer as CC1 on CC1.ID = DF.ID_ticarihesap
LEFT OUTER JOIN card_customer as CC2 on CC2.ID = DF.ID_anaciro
LEFT OUTER JOIN card_customer as CC3 on CC3.ID = DF.ID_ciroticari


LEFT JOIN ve LEFT OUTER JOIN arasındaki farkı anlamak için şu yazıyı okumalısınız Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#7
o kadar uzağa gitmeye gerek yok Smile

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#8
(07-07-2017, Saat: 00:56)meko Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Olo kadar uzağa gitmeye gerek yok Smile

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Eyvallah , Smile   gitmeyelim de, "LEFT OUTER JOIN"e orada değinilmemiş
Cevapla
#9
(11-07-2017, Saat: 16:30)uparlayan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(07-07-2017, Saat: 00:56)meko Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Olo kadar uzağa gitmeye gerek yok Smile

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Eyvallah , Smile   gitmeyelim de, "LEFT OUTER JOIN"e orada değinilmemiş

O halde altına yazınız ki yazıyı geliştireyim. bu tip konularda sessiz kalmayınız.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter





Konuyu Okuyanlar: 1 Ziyaretçi