大家好,
我有兩個不同的數據表,我需要查找並選擇另一個表中是否存在該單字。
我嘗試使用 Contains() 但不起作用。請幫忙
這是一個例子:
dt1
dt2
| 狗與大猩猩 |
| 老鼠、長頸鹿 |
| 鯊魚、鯨魚、企鵝 |
| 鴕鳥&鳥 |
| 獅子、老虎、牛 |
結果(選擇了粗體字元的文字):
dt2
| 狗與大猩猩 |
| 老鼠、長頸鹿 |
| 鯊魚、鯨魚、企鵝 |
| 鴕鳥&鳥 |
| 獅虎牛 |
這是完成您正在尋找的任務的一種方法。請注意,我相信您顯示結果的表格錯誤地選擇了第 3 行。
Names Default To Here( 1 );
// Create the tables
dt1 = New Table( "Lookup", Add Rows( 5 ), New Column( "key", Character, Set Values( {"dog", "cat", "fish", "bird", "cow"} ) ) );
dt2 = New Table( "Base",
Add Rows( 5 ),
New Column( "Target", Character, Set Values( {"dog&gorilla", "mouse, giraffe", "shark, whale, penguin", "ostrich&bird", "lion&tiger,cow"} ) )
);
// Place all key values into a list
KeyList = dt1:key << get values;
// Loop across the keys and search each row of Target for the
// match
For Each( {val}, keyList,
For Each Row(
If( Contains( :Target, val ),
Row State( Row() ) = Selected State( 1 )
)
)
);

只是一個後續問題,我可以使用此選定的行來匹配其他表嗎?就像更新一樣?
我不明白你的問題。但是,您可以輕鬆建立僅包含所選行的基底表子集,然後可以從該表更新另一個表。這是進行子集化的 JSL
dt3 = dt2 << Subset( selected columns( 0 ), selected rows( 1 ) );