Nasıl yapılır: Oluşturma el ile iç birleşimler (Visual veritabanı araçları)
Yapabilirsiniz birleştirmek tablo veritabanında yansıma ilişkisi olmasa bile kendisi için bir tablo.Örneğin, kullanabileceğiniz bir iç birleşim aynı şehirde oturan yazar çiftlerini bulmak için.
Diğer bir birleşme olduğu gibi bir iç birleşim en az iki tablo gerektirir.Fark, ikinci bir eklemek yerine olan tablo sorgu için aynı ikinci bir örneğini eklerseniz tablo.Bu şekilde, bir sütunda ilk örneğini karşılaştırın tablo ikinci örnekteki aynı sütun için olanak sağlayan, her bir sütundaki değerleri karşılaştırmak.The Query and View Designer assigns an alias to the second instance of the table.
örnekn, kendisiyle birleşme işlemi tüm yazar çiftlerini bulmak için oluşturuyorsanız, karşılaştırmak city ilk örnek sütununda tablo karşı city sütununda ikinci bir örnek.Sonuçlanan sorgu aşağıdaki gibi görünebilir:
SELECT
authors.au_fname,
authors.au_lname,
authors1.au_fname AS Expr2,
authors1.au_lname AS Expr3
FROM
authors
INNER JOIN
authors authors1
ON authors.city
= authors1.city
WHERE
authors.city = 'Berkeley'
Oluşturma bir iç birleştirmek genellikle birden fazla birleştirmek koşulu gerektirir.Nedenini anlamak için yukarıdaki sorgu sonucunu göz önünde bulundurun:
Cheryl Carson Cheryl Carson
Abraham Bennet Abraham Bennet
Cheryl Carson Abraham Bennet
Abraham Bennet Cheryl Carson
İlk satır işe yaramaz; Bu aynı şehirde yaşadığını Cheryl Carson Cihangir'in yaşar olduğunu belirtir.İkinci satır işe yaramaz.Bu yararsız veriyi atlamak için sadece iki yazar adları farklı yazarlar açıklamak içinde sonuç satırlarını koruyarak başka bir koşul ekleyin.Sonuçlanan sorgu aşağıdaki gibi görünebilir:
SELECT
authors.au_fname,
authors.au_lname,
authors1.au_fname AS Expr2,
authors1.au_lname AS Expr3
FROM
authors
INNER JOIN
authors authors1
ON authors.city
= authors1.city
AND authors.au_id
<> authors1.au_id
WHERE
authors.city = 'Berkeley'
Sonuç küme şöyle oluşur:
Cheryl Carson Abraham Bennet
Abraham Bennet Cheryl Carson
Ancak iki sonuç satırı gereksizdir.İlk olarak ile aynı şehirde yaşadığını yaşar ve ikincisi de aynı şehirde yaşadığını Benli'nin yaşar diyor diyor.Bu fazlalık ortadan kaldırmak için ikinci değiştirebilirsiniz birleşim koşulu karşı değil "eşit" için "küçüktür." Sonuçlanan sorgu aşağıdaki gibi görünebilir:
SELECT
authors.au_fname,
authors.au_lname,
authors1.au_fname AS Expr2,
authors1.au_lname AS Expr3
FROM
authors
INNER JOIN
authors authors1
ON authors.city
= authors1.city
AND authors.au_id
< authors1.au_id
WHERE
authors.city = 'Berkeley'
Ve sonuç küme şöyle görünür:
Cheryl Carson Abraham Bennet
Oluşturmak için bir iç birleştirmek el ile
Ekleme Diyagram bölmesine tablo veya çalışmak istediğiniz tablo değerli nesne.
Böylece Diyagram bölmesinde aynı tablo veya nesne tablo değerli Diyagram bölmesine iki kez içinde gösterir aynı tabloyu yeniden ekleyin.
Sorgu ve Görünüm Tasarımcısı atar bir diğer ad için ikinci örnek ardışık bir numara ekleyerek tablo adı.Buna ek olarak, sorgu ve Görünüm Tasarımcısı, tablo veya tablo değerli nesne Diyagram bölmesi içinde iki olay arasındaki birleştirmek satırı oluşturur.
birleştirmek satırını sağ tıklatın ve seçin Özellikler kısayol menüsünden.
Properties penceresinde Katıl koşul ve Yaz 'ı tıklatın ve üç nokta (…) özellik sağındaki.
De Katıl iletişim kutusunu karşılaştırmayı değiştirmek işleç gerektiği gibi birincil anahtarlar arasında.Örneğin, işleç için değişebilir küçüktür (<).
Ek oluşturma birleşim koşulu (örneğin, yazarlar.POS =) ilk geçtiği tablo veya nesne tablo değerli içinde birincil birleştirmek sütunu adını sürükleyip, İkinci örnekte karşılık gelen sütuna bırakarak.
Diğer seçenekleri belirtmek için sorgu çıktı sütunları gibi arama koşulları ve sıralama düzeni.
Ayrıca bkz.