в идеале там надо хранить еще и все данные товара, товары имеют свойство быть удаленными из базы, поднять потом что за товар был продан - практически нереально, особенно если админка предусматривает замену/удаление товара из таблицы физически.
Monday_Monster: сейчас смотрел свой старый код с тини, где тоже надо было сохранять стили, там вроде ничего особого нет, добавил в ответ - вдруг поможет.
hrvasiliy: Никак не относится к вашей ситуации от слова СОВСЕМ. Не путайте селект ради селекта "чтобы было", и * если вам действительно нужны выбираемые поля. Кроме того, все это относится к нормальной архитектуре бд, вы же строите велосипед с 6 колесами и 1 педалью. Я сказал как сделать в вашем случае, но не говорил что так будет верно с точки зрения архитектуры, скорее наоборот, написал что у вас в структуре ошибка если до такого приходится извращаться.
hrvasiliy: эм, а у вас были другие идеи? Я бы хотел на это посмотреть ) В принципе ничего не мешало вам выбрать ВСЕ значения со статусом 0 и далее просто перебрать массив, проверяя были ли уже такие вхождения, но вы зацикливаетесь на поиске 1 решения, причем не сильно понимаете что оно сюда не очень подходит, о чем я вам уже писал много раз. Смотрите на проблему шире, задавайте себе вопрос - а верно ли я делаю, нет ли более простого и правильного решения? Сильно сэкономит время и нервы, не говоря уже о поднятии скила.
AlikDex: Чел так не любит, он предпочитает колоноскоп для удаления гланд, причем вроде бы правильно и по инструкции его вводит, но результат, понятное дело, не очень.
hrvasiliy: вы пытаетесь сделать выборку по заранее неизвестным полям, это пипец как нехорошо, джойнить таблицы на себя тоже плохо, половина индексов при этом не работает и у вас получается много раз ОХРЕНЕННО ТЯЖЕЛЫЕ ЗАПРОСЫ. Вместо этого - делается предвыбор в массив(1 легкий запрос) и потом подставляются в цикле конкретные значения для селекта - сверхлегкий быстрый запрос много раз. ЧУВСТВУЕТЕ РАЗНИЦУ?
hrvasiliy: Ок, я перефразирую задачу, получается что на мы выбираем 1 пару нашару(на деле пофиг какую лишь бы она соответствовала условию статус = 0). Далее если такие пары есть еще - их тоже выбрать. Потом мы делаем с ними "магию", потом ставим во все эти строки статус 1. Повторяем до опупения. так?
hrvasiliy: Я уже слегка задолбался объяснять, но повторюсь: не ясно что ты пытаешься сделать. Не в плане "выбрать по 2 полям", а задача которую ты этим решаешь. Понимаешь ли, есть круг задач, с которыми сталкиваются 90% разработчиков при проектировании, и на 99% эти задачи имеют вполне адекватные решения. Так вот, в твоем случае есть решение, в частности такое как у тебя в примере, но, скажем так, оно больше похоже на удаление гланд через прямую кишку, потому что неохота обходить пациента с другой стороны. Объясни какую задачу ты пытаешься решить этой выборкой, и тогда решение будет более правильным, простым и эффективным.
hrvasiliy: так и не написали задачу, что нужно получить? Обработать по 1 записи и поставить 1 в статус? Если у вас нет разницы сколько у человека машин нахрена выбирать? Или в структуре неверно заложено или в задаче что-то не верно. Отвлекитесь от вопроса о двух полях, скажите ЧТО ПЫТАЕТЕСЬ СДЕЛАТЬ??
hrvasiliy: давай отвлечемся от задачи, объясни суть манипуляций, что за обработка? Создается впечатление что у тебя не совсем верный путь решения какой-то достаточно простой задачи.