А что это вообще такое?

       

Пример


Есть список товаров, в котором каждый товар имеет наименование и уникальный код - 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
    водка - нет в наличии










Содержание раздела