SQL Server'da tablo join etme işlemlerinde eğer birleştirilen tabloda birden fazla satır geliyorsa ve sonuçlar ilk tablodaki ilgili satıra göre sadece birer satır olacak şekilde listelenmek isteniyorsa, join edilen tablodan sadece tek bir satır çekmek için yazılabilecek sorgular, execution süresini fazlaca artırabiliyor.
Sorguların süresini olabildiğince kısa tutmak için pek bilinmese de aşağıdaki gibi bir CROSS APPLY uygulaması yapılabilir.
SELECT a.kullaniciadi, b.adres, b.telefon
FROM uyeler a
CROSS APPLY
(
SELECT TOP 1 adres, telefon
FROM adresler
WHERE a.uyeID = adresler.uyeID
) b
Editör editi: sitedeki bazı diğer benzer başlıklar için;
bkz: Sql Server'da Temp Tablo ile Select Into Kullanımı
bkz: Sql Server'da Temp Tabloyu (Geçici Tablo) Drop Etmek
bkz: SQL Server'da SET CASE ile Update Komutunu Kullanmak
bkz: Sql Server'da Trim ve Update ile Tablo Güncellemek
bkz: Sql Server'da Query ile Stored Procedure Nasıl Çalıştırılır?
bkz: MySQL'de Tabloya Satır Eklemek (insert)