2016-03-30 12 views
0

4 tablo üzerinde çalışıyorum. Tabloların tümü rotalarla ilgili verileri tutar (IE: From, To, Distance). Table1, 5000 satır tutabilir,, 2500 satır vardır, Table3, 3000 satır vardır ve Table4, 3000 satır da sahiptir.İç Katıl, varsa, boş sütunlar oluşturun

Tüm tablolar için INNER JOINs'u oluşturdum. Bununla birlikte,'daki veriler Table1.RouteId'un bir girişi vardır, ancak bu veriler Table2'da bulunmayabilir. ,

tüm verileri karşılaştırmak gerekir ve Table1.RouteIdTable2 değilse, o zaman sadece "mevcut değil" veya buna benzer bir şey bu yüzden veri Table2 eksik olduğunu görebilirsiniz gibi Table2 sütunları doldurmalıdır ama başka yerlerde var.

Bunu nasıl başarabilirim?

+2

'SOL DIŞTA JOIN' – Raj

+2

' LEFT JOIN' deyimine bakın. –

+2

İşaret ettiği gibi, arkadaşınız "SOL JOIN". Ve ikinci arkadaş, '(NULL') – Shnugo

cevap

-2
select * from A; 
select * from B; 
select * from C; 
select * from D; 

select * 
from A 
left join B on A.col1 = B.col1 
left join C on A.col1 = C.col1 
left join D on A.col1 = D.col1 
order by A.col1; 

col1

1 
2 
3 
4 
5 

col1

2 
3 
4 

col1

1 
2 
3 

col1

3 
4 

col1 col1 col1 col1 

1  NULL 1  NULL 
2  2  2  NULL 
3  3  3  3 
4  4  NULL 4 
5  NULL NULL NULL 

Bu yardımcı olur umarız!

+1

Downvoters nedenlerini gönderebilirse Raam yardımcı olabilir. Bunların zayıf formatlama ve betimsel yorum eksikliği içereceğini umuyorum. –

+0

Aynı şeyi merak ettim :(Hakikaten güzel görünmesi için yeterli zamanım yok – Raam

+0

Uygun bir cevap yazmak için zamanınız yoksa, tavsiyem rahatsız etmemektir. – Jamiec