2013-04-30 17 views
5

Aynı yapıya sahip iki farklı tablodan alınan n satır değerlerini tutan bir görünüm (veya bir tablo) oluşturmam gerekiyor. Örneğin:SQL - bir tablodaki iki tablo içeriğini birleştirin/görünüm

tablo Avrupa

id name  Country 
---------------------------- 
1  Franz  Germany 
2  Alberto  Italy 
3  Miguel  Spain 

tablo ABD

id name  Country 
---------------------------- 
1  John  USA 
2  Matthew  USA 

birleştirilmiş görünümü böyle olmak zorunda:

tablo DÜNYA

id name  Country 
---------------------------- 
1  John  USA 
2  Matthew  USA 
1  Franz  Germany 
2  Alberto  Italy 
3  Miguel  Spain 

bu mümkün? eğer öyleyse, nasıl?

Yardımlarınız için şimdiden teşekkür ederiz, saygılarımla

+1

neden tablo/görünüm oluşturmak istiyorsunuz? Sadece basit bir sql sorgusu sonucu aldınız –

+1

@BhavinChauhan Eğer büyük bir veri kümesinde sıkça talep edilen bir görünümse, zaten büyük bir sorgu sonucu olan bir görünüm veya tabloya sahipse makul derecede daha verimli olabilir. –

cevap

8

sadece Öyle gibi birliğin yeniden kullanılabilir bir görünüm oluşturabilirsiniz birleşim sorgusu

SELECT id,name,Country FROM dbo.Europe 
UNION 
SELECT id,name,Country FROM dbo.USA 
+0

AAAARGH sendika seç! teşekkürler Bhavin: D – BeNdErR

+2

"UNION ALL" performans amaçları için öneriyorum (ülkelerin birden fazla masada bulunamayacağı varsayılıyor). Ve bütünlük adına burada çözümünüzü göstermek için bir Fiddle var. http://sqlfiddle.com/#!5/fe7a0/1 – GarethD

+0

@GarethD Sonuç neden Avrupalıları ABD ülkesinden gösteriyor? – BeNdErR

3

denemek daha sonuçlanması istiyorsanız:

create view allcountries as select * from usa union select * from world; 

(allcountries yerine istediğiniz her şeyi adlandırın)

o zaman:

select * from allcountries; 
İlgili konular