Есть список товаров, в котором каждый товар имеет наименование и уникальный код - id. Есть прайс-лист товаров, имеющихся в наличии. Вместо названия товара используется id товара из списка товаров. Все это хранится в двух таблицах. Подобные таблицы называются связанными. Нам нужно получить данные в виде «товар - цена», т.е. получить данные сразу из двух таблиц.
Реализация: # это таблица с нашими товарами
$product_list[^table::create{id name
1 хлеб
2 колбаса
3 масло
4 водка
}]
# это таблица с ценами товаров
$price_list[^table::create{id price
1 6.50
2 70.00
3 60.85
}]
#hash таблицы с ценами по полю id
$price_list_hash[^price_list.hash[id]]
#перебираем записи таблицы с товарами
^product_list.menu{ $product_price[$price_list_hash.[$product_list.id].price]
# проверяем - есть ли цена на товар в нашем hash ^if($product_price){
# печатаем название товара и его цену $product_list.name - $product_price<br> }{
# а у этого товара нет цены, т.е. его нет в наличии $product_list.name - нет в наличии<br> }
}
В результате получим: хлеб - 6.50
колбаса - 70.00
масло - 60.85
водка - нет в наличии