|
|
|
| Есть таблица А.
В ней три колонки: ID, название и количество товара. Иногда количество равно 0 или NULL.
Требует вывести все, но сортировка должна быть такой:
вначале то, что больше 0, потом все остальное.
Видимо заработался, но могу придумать как отсортировать. ) | |
|
|
|
|
|
|
|
для: Indemion
(28.02.2008 в 19:16)
| | amount - количество товара
Есть идея, но можно ли её осуществить? Надо создать некий подзапрос в запросе:
SELECT * FROM A ORDER BY N ASC
А N формировать неким подзапросом (IF amount > 0 N=1 ELSE N=0)
Такие вещи возможны? | |
|
|
|
|
|
|
|
для: Indemion
(29.02.2008 в 10:24)
| | есть вариант типа
приводим amount к числовому типу и по нему сортируем
select
id,
name,
cast(amount as UNSIGNED) as NumAmount
from table
order by NumAmount desc
|
| |
|
|
|
|
|
|
|
для: Indemion
(28.02.2008 в 19:16)
| | а вы сделайте что атрибут колчиество товара не может быть пустым а по умолчанию поставьте 0
и потом Select * From tovary Order by kol DESC | |
|
|
|
|
|
|
|
для: UshkiNaMakushke
(29.02.2008 в 14:32)
| | Не всегда получается менять тип данных в полях... :) иногда это просто невозможно | |
|
|
|
|
|
|
|
для: KirillKiev
(29.02.2008 в 14:50)
| | а у него что количество товара строковая переменная или я что-то недогоняю тип integer по умолчанию может быть либо Null либо какое то число | |
|
|
|
|
|
|
|
для: UshkiNaMakushke
(29.02.2008 в 15:02)
| | нда.. был у меня вариант - в поле или число или '<100' и ничего не сделаешь... пришлось изгаляться с сортировкой | |
|
|
|
|
|
|
|
для: KirillKiev
(29.02.2008 в 15:58)
| | Это я пример привел простой.
А на самом деле у меня в одной таблице 40 полей и в другой 30 :)
Плюс ограничения, так как шеф купил программу с частично закрытым кодом. Я его раскрыл, чтобы понять метод и вернул все как было. Так что не могу выйти за рамки программы.
Но решение нашел. И все сделал. Еще на стадии формирования amount, ввел столбец, где сразу идет проверка, если больше 0, то добавить в столбик 1, а нет, значит 0. И уже сортирую по этому столбику, а не по количеству товара.
Все равно, всем спасибо за помощь :) | |
|
|
|