Anasayfa / Yazılım / SQL / İki Tabloda Birden Fazla Kolonu Birbirine Bağlamak

İki Tabloda Birden Fazla Kolonu Birbirine Bağlamak

INNER JOIN ile genelde iki farkı tabloda iki kolonu birbirine bağlarız. Ancak bazen öyle durumlar olur ki, iki tabloda birden fazla kolonu da birbirine bağlama ihtiyacı duyabiliriz. Şimdi AdventureWorks veritabanı üzerinde bununla alakalı bir örnek yapalım. Öncelikle şekille ifade ediyorum :

2013021303

Amacım Sales.SalesOrderDetail tablosu ile Sales.SpecialOfferProduct tablolarını birbirine bağlamak. Sales.SalesSpecialOfferProduct tablosu birleşik primary key özelliğine sahip bunların biri pecialOfferID, diğeri ProductID. Bu tablo üzerinde bir satırı belirlemek için her iki sütunu da kullanmamız gerekecek. O halde sorgumuz aşağıdaki gibi olursa istediğimize ulaşırız :

SELECT sod.SalesOrderID, sod.SalesORderDEtailID, 
so.ProductID, so.SpecialOfferID, so.ModifiedDate
FROM Sales.SalesOrderDetail AS sod
INNER JOIN Sales.SpecialOfferProduct AS so
ON so.ProductID = sod.ProductID AND
so.SpecialOfferID = sod.SpecialOfferID
WHERE sod.SalesOrderID IN (51111,51112)

2013021304

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir