| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > union 2 таблиц с разной сортировкой |
| Автор: bankir 14.1.2010, 16:15 | ||
| Товарищи выручайте! Есть задача: нужно вывести каталог товаров из таблицы (name, price, price_spec) subcatalog и exist - не упоминаю в примере для простоты price - обычная цена, price_spec - цена со скидкой, если цены со скидкой нет, то она равна 0 машинка | 500 | 0 трактор | 300 | 100 в итоге на сайте выводит позицию "машинка" по цене 500, а "трактор" по (цена 300 зачеркнуто, а сверху красным 100) Так вот, хотелось бы вывести все скидочные позиции в начале каталога отсортированными по цене, а потом обычные тоже отсортированные по цене. В теории понимаю, что необходимо сначала выбрать все скидочные и отсортировать, а потом объединить снизу обычные отсортированные.
Данный код сортирует только скидочные правильно, а обычные не сортирует. name | price | price_spec Набор 1 | 2000 | 450 Набор 2 | 1700 | 460 Набор 3 | 250 | 0 Набор 4 | 400 | 0 Набор 5 | 400 | 0 Набор 6 | 200 | 0 У кого какие соображения по этому поводу? Не хотелось бы идти через временную таблицу, так как набор полей часто меняется в таблице (некоторые добавляются, потом могут поменяться местами и тд), а в коде надо жестко задавать тип и название полей таблицы (реально порядка 20 полей в таблице, здесь привел сокр вариант). К тому же идет постраничный вывод на экран для чего и используется LIMIT n, m Подскажите в каком направлении рыть. Может нельзя одновременно использовать сортировку и в 1 и во втором 2 select? |
| Автор: bankir 14.1.2010, 18:04 | ||
все, решилось
может кому пригодится |