Gerçek hayatta DIŞ / ÇAPRAZ kullanmak için, SQL örnek UYGULA
Bir meslektaşım ile CROSS / OUTER APPLY bakıyordum ve bunları kullanmak için gerçek hayattan örnekler bulmak için mücadele ediyoruz.
Geçirdim epey bir zaman bakıyor When should I use Cross Apply over Inner Join? ve googling ama main () örneği gibi oldukça tuhaf (toggle kullanarak bir tablo belirlemek için kaç satır seçmek için başka bir tablo).
Bu senaryo OUTER APPLY fayda olabilir diye düşündüm:
Rehber Tablo (her kişi için 1 kaydı içerir) İletişim Girdileri Tablosu (n Telefon, Faks, E-posta fro her kişi içerebilir)
Ama alt sorgular ortak tablo ifadeleri, OUTER JOIN RANK() OUTER APPLY kullanarak aynı derecede performans gibi görünüyor. Senaryo şöyle: APPLY için geçerli değildir anlamına geldiğini tahmin ediyorum.
Paylaşmak bazı gerçek hayattan örnekler lütfen ve özelliğini açıklamaya yardımcı!
Teşekkürler
CEVAP
Bazı APPLY için kullanır...
1)Top N per group queries (bazı cardinalities için daha verimli olabilir)
SELECT pr.name,
pa.name
FROM sys.procedures pr
OUTER APPLY (SELECT TOP 2 *
FROM sys.parameters pa
WHERE pa.object_id = pr.object_id
ORDER BY pr.name) pa
ORDER BY pr.name,
pa.name
2)Bir Tablo Değerli çağıran dış sorguda her satır için İşlev
SELECT *
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle)
SELECT number,
doubled_number,
doubled_number_plus_one
FROM master..spt_values
CROSS APPLY (SELECT 2 * CAST(number AS BIGINT)) CA1(doubled_number)
CROSS APPLY (SELECT doubled_number 1) CA2(doubled_number_plus_one)
4)Unpivoting more than one group of columns
1NF tablo yapısı ihlal varsayar....
CREATE TABLE T
(
Id INT PRIMARY KEY,
Foo1 INT, Foo2 INT, Foo3 INT,
Bar1 INT, Bar2 INT, Bar3 INT
);
Örneğin 2008 VALUES sözdizimi kullanarak.
SELECT Id,
Foo,
Bar
FROM T
CROSS APPLY (VALUES(Foo1, Bar1),
(Foo2, Bar2),
(Foo3, Bar3)) V(Foo, Bar);
2005 UNION ALL yerine kullanılabilir.
SELECT Id,
Foo,
Bar
FROM T
CROSS APPLY (SELECT Foo1, Bar1
UNION ALL
SELECT Foo2, Bar2
UNION ALL
SELECT Foo3, Bar3) V(Foo, Bar);

AngularJS: örnek Tek Sayfa Uygulama ki...
Shared_ptr kullanmak için örnek?...
Nasıl onSavedİnstanceState örnek lütfe...
Nasıl gerçek özel bir örnek değişken y...
Java bayt ilkel türü için herhangi bir...