LookUp - kod fonksiyonu
Lookup() zaten yüklü durumdaki bir tablonun içine bakar ve match_field_name alanında match_field_value değerinin ilk oluşuna karşılık gelen field_name değerini döndürür. Bu tablo, mevcut tablo ya da daha önce yüklenmiş başka bir tablo olabilir.
Söz Dizimi:
lookup(field_name, match_field_name, match_field_value [, table_name])
Dönüş verileri türü: dual
Bağımsız Değişkenler:
Bağımsız Değişken | Açıklama |
---|---|
field_name | Döndürülen değerin gerekli olduğu alanın adı.Giriş değeri bir dize (örneğin, tırnak içine alınmış bir değişmez değer) olarak verilmelidir. |
match_field_name | match_field_value öğesinin aranacağı alanın adı. Giriş değeri bir dize (örneğin, tırnak içine alınmış bir değişmez değer) olarak verilmelidir. |
match_field_value | match_field_name alanında aranacak değer. |
table_name |
Değerin aranacağı tablonun adı. Giriş değeri bir dize (örneğin, tırnak içine alınmış bir değişmez değer) olarak verilmelidir. table_name atlandığı takdirde geçerli tablo kabul edilir. |
Sınırlamalar:
Tablo, sıralamanın tam olarak tanımlanmadığı birleştirmeler gibi karmaşık işlemlerin bir sonucu olmadıkça, aramanın yapıldığı sıra yükleme sırasıdır. Hem field_name hem de match_field_name öğesi, table_name öğesi ile belirtilen aynı tablodaki alanlar olmalıdır.
Herhangi bir eşleşme bulunamazsa NULL sonucu döndürülür.
Örnek:
Örnek verilerde Lookup() fonksiyonu şu biçimde kullanılmaktadır:
Lookup('Category', 'ProductID', ProductID, 'ProductList')
Örnek kodu belgenize ekleyin ve çalıştırın. Ardından, sonucu görmek için belgenizdeki bir sayfaya en azından sonuçlar sütununda listelenen alanları ekleyin.
ProductList:
Load * Inline [
ProductID|Product|Category|Price
1|AA|1|1
2|BB|1|3
3|CC|2|8
4|DD|3|2
] (delimiter is '|');
OrderData:
Load *, Lookup('Category', 'ProductID', ProductID, 'ProductList') as CategoryID
Inline [
InvoiceID|CustomerID|ProductID|Units
1|Astrida|1|8
1|Astrida|2|6
2|Betacab|3|10
3|Divadip|3|5
4|Divadip|4|10
] (delimiter is '|');
Drop Table ProductList
ProductList tablosu ilk olarak yüklenir.
Lookup() fonksiyonu, OrderData tablosunu oluşturmak için kullanılır. Üçüncü bağımsız değişkeni ProductID olarak belirtir. Bu, tek tırnak içine alınmasıyla gösterildiği üzere ProductList içinde ikinci bağımsız değişkende ('ProductID') değeri aranacak alandır.
Fonksiyon, CategoryID olarak yüklenen 'Category' değerini döndürür (ProductList tablosunda).
drop deyimi ProductList tablosunu veri modelinden siler (çünkü gerekli değildir) ve böylece OrderData tablosunu şu sonuç ile bırakır:
ProductID | InvoiceID | CustomerID | Units | CategoryID |
---|---|---|---|---|
1 | 1 | Astrida | 8 | 1 |
2 | 1 | Astrida | 6 | 1 |
3 | 2 | Betacab | 10 | 2 |
3 | 3 | Divadip | 5 | 2 |
4 | 4 | Divadip | 10 | 3 |