У меня проблема с поиском дублирующих результатов в базе данных mysql (сайт рецептов коктейлей). Здесь установка:Проблема с MySQL Query (повторяющиеся результаты)
Таблица 1: 'коктейль'
[чид, c_name] (CID = Уникальный коктейль ID, c_name = имя коктейль)
Таблица 2: 'ингредиенты':
[IID, i_name ] (IID = уникальный ингредиент ID, i_name = имя ингредиента)
Таблица 3: 'cocktail_ingredients' (связующая таблица)
[ciid, чид, IID] (ciid = уникальный идентификатор строки, чид = коктейль чид, IID = ингредиент iid)
Итак, один коктейль может иметь несколько строк в таблице «cocktail_ingredients» (от 1 до многих).
Настройка в порядке. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что в моей базе данных есть дублирующие коктейли.
Например, если таблица cocktail_ingredients были эти записи:
ИДС | iid
1 | 56
1 | 78
1 | 101
. . .
9 | 56
9 | 78
9 | 101
Коктейль такой же (для теоретических целей здесь все равно).
Если в таблице 'cocktail_ingredients' был еще один ряд ...
9 | 103
Тогда это будет не то же самое, что и коктейль номер 9 включает в себя дополнительный ингредиент.
Таким образом, mysql должен выполнить 2 проверки, во-первых, что количество ингредиентов одинаковое, а во-вторых, каждый идентификатор ингредиента (iid) одинаковый для соответствующих коктейлей (cid).
Im тупик на этом, любая помощь очень ценится. Я думаю, что мне, возможно, придется идти по пути PHP, а также кодировать что-то более сложное, но я боюсь там, поэтому подумал, что это будет хорошее место, чтобы остановиться и спросить.
Спасибо тонных
Ник
Только потому, что два коктейля содержат одни и те же ингредиенты, они не обязательно являются одним и тем же коктейлем. Количества могут различаться. –
Да, я понимаю это - вот почему я сказал «для теоретических целей». Очевидно, способ, которым вы смешиваете, суммы и множество других переменных может изменить его. Но это, безусловно, дает мне хорошую базу, чтобы начать смотреть. –