Легко заметить, что в эквисоединение таблиц вошли дубликаты столбцов, по которым проводилось соединение (Т, В и БЛ). Для исключения этих дубликатов можно создать естественное соединение тех же таблиц:
SELECT Т, В, БЛ, Трапеза, Вид, Блюдо, Основа, Выход, Труд
FROM Меню, Трапезы, Вид_блюд, Блюда
WHERE Меню.Т = Трапезы.Т
AND Меню.В = Вид_блюд.В
AND Меню.БЛ = Блюда.БЛ;
Реализация естественного соединения таблиц имеет вид
| Т
| В
| БЛ
| Трапеза
| Вид
| Блюдо
| Основа
| Выход
| Труд
|
|
| З
|
| Завтрак
| Закуска
| Салат витаминный
| Овощи
| 200.
|
|
|
| З
|
| Завтрак
| Закуска
| Мясо с гарниром
| Мясо
| 250.
|
|
|
| Г
|
| Завтрак
| Горячее
| Омлет с луком
| Яйца
| 200.
|
|
| ...
|
|
|
| Г
|
| Ужин
| Горячее
| Драчена
| Яйца
| 180.
|
|
|
| Н
|
| Ужин
| Напиток
| Компот
| Фрукты
| 200.
|
|
|
| Н
|
| Ужин
| Напиток
| Молочный напиток
| Молоко
| 200.
|
|
Композиция таблиц
Для исключения всех столбцов, по которым проводится соединение таблиц, надо создать композицию
SELECT Трапеза, Вид, Блюдо, Основа, Выход, Труд
FROM Меню, Трапезы, Вид_блюд, Блюда
WHERE Меню.Т = Трапезы.Т
AND Меню.В = Вид_блюд.В
AND Меню.БЛ = Блюда.БЛ;
имеющую вид
| Трапеза
| Блюдо
| Вид
| Основа
| Выход
| Труд
|
| Завтрак
| Салат витаминный
| Закуска
| Овощи
| 200.
|
|
| Завтрак
| Мясо с гарниром
| Закуска
| Мясо
| 250.
|
|
| Завтрак
| Омлет с луком
| Горячее
| Яйца
| 200.
|
|
| . . .
|
| Ужин
| Драчена
| Горячее
| Яйца
| 180.
|
|
| Ужин
| Компот
| Напиток
| Фрукты
| 200.
|
|
| Ужин
| Молочный напиток
| Напиток
| Молоко
| 200.
|
|