@LieKarp

Как вывести несколько значений с одним ID в диапозоне?

Есть таблица заказов (orders):
id dishes
поле dishes имеет такой формат 1,2,2,5,1,2
Как можно вывести повторение значений с одним и тем же ID?
SELECT * FROM dishes WHERE id IN (1,2,2,5,1,2)
Выводит записи, но без повторений =(
6269748258ce0896567077.png
Как можно вывести точно такой же результат, но с повторами ID 2, например?
  • Вопрос задан
  • 939 просмотров
Решения вопроса 2
@402d
начинал с бейсика на УКНЦ в 1988
лучше сделайте нужный вывод на PHP или на чем там у вас бакенд

через SQL получается слишком громоздно
select 1 as fictiv_number, field1,.., field2 from dishes where id=val1
union select 2 , field1,.., field2 from dishes where id=val2

или делать хранимую процедуру
Ответ написан
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
Как можно вывести точно такой же результат, но с повторами ID 2, например?
Если с самого начала проектировать бд в нормальной форме, а не то что получилось, то задача вполне нормально решается. Создается таблица отношений наборов к блюдам, и объединяется как многие ко многим, и всё будет нормально выбираться. А кажущаяся "оптимальность" хранения идентификаторов строкой в одном поле - ошибка почти всех новичков, тем не менее это отвратительная практика, рожденная некомпетентностью и ленью. Меняйте структуру, пока не поздно, на этапе разработки это сделать проще, чем когда уже внесете кучу данных в рабочий говнопроект. Делайте сразу хорошо, чтобы потом не страдать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы