Back katılmak için herhangi bir ortak alanı ile SQL Server iki tablo seçmek için, böyle seçkin ifadeleri yazmak için kullanılan: Ben virgülle ayrılmış olan söylendi AncakDoğru yolu eski günlerde
SELECT
table1.columnA, table2.columnA
FROM
table1, table2
WHERE
table1.columnA = 'Some value'
"FROM" deyimindeki tablo adları ANSI92 ile uyumlu değil. Her zaman bir JOIN ifadesi olmalıdır.
Bu, sorunuma neden olur .... İki tablo arasında veri karşılaştırması yapmak istiyorum, ancak her iki tabloda da bir birleştirmenin oluşturulacağı ortak bir alan yok. FROM deyiminde virgülle ayrılmış tablo adlarının 'eski' yöntemini kullanırsam (bkz. Kod örneği), o zaman mükemmel çalışır. Yanlış veya kötü uygulama olarak kabul edilirse, bu yöntemi kullanmaktan rahatsız oluyorum.
Bu durumda ne yapılması gerektiğini bilen var mı?
Ekstra Bilgi: Tablo1 'coğrafya' veri türü Tablo2 konumların bir listesini içerir
ben arasındaki mesafeleri karşılaştırmak için seçme deyimi yazıyorum
'coğrafya' konumlarının farklı bir listesini içerir
yerler. Bildiğim kadarıyla bir coğrafya sütununda JOIN yapamazsınız?
Ortak alan yoksa nasıl karşılaştırırsınız? – maSTAShuFu
'Table1, Table2', Table1 CROSS JOIN Table2' ile işlevsel olarak özdeştir, *** gerçekten *** ne elde etmeye çalışıyorsunuz? Bir tabloda birden fazla satır varsa, her iki tablonun satırları çoğaltılacak ... Muhtemelen bazı örnek giriş verileri ve karşılık gelen örnek çıktı verilerini vermelisiniz. – MatBailie
Evet MatBaile, Cross Join kullanmam gerekiyor. Yardımın için teşekkürler –