Привет. Есть такая задача. В одной таблице хранятся продукты, во второй ингредиенты. Каждый продукт состоит из ингредиентов. Допустим кофе латте состоит из молока (250 мл.) и кофе(30 мг.). Теперь необходимо связать это друг с другом, я создал отдельную таблицу, куда заносятся ингредиенты, с указанным объемом для напитка и связываю их через поле product_id. А чтобы при покупке кофе, объем ингредиентов вычитался из основной таблицы, я из связываю через ingridient_id.
Рациональна ли такая схема или можно сделать проще? Спасибо всем откликнувшимся.
1. b0lsh0i_b0ber - 22 Января, 2015 - 11:03:55 - перейти к сообщению
2. KingStar - 22 Января, 2015 - 11:23:56 - перейти к сообщению
лишние колонки
в таблице Кофе - group_id
в таблице Латте - name
а так в принципе можно вынять
запрос будет вида
в таблице Кофе - group_id
в таблице Латте - name
а так в принципе можно вынять
запрос будет вида
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT
- `Кофе`.`name`,
- `Ингредиенты`.`name`,
- `Латте`.`count`,
- `Латте`.`measure`
- FROM
- `Кофе`
- JOIN
- `Латте`
- ON
- `Латте`.`product_id` = `Кофе`.`id`
- LEFT JOIN
- `Ингредиенты`
- ON
- `Ингредиенты`.`ingredient_id` = `Латте`.`id`
- WHERE
- `Кофе`.`id` = 1