Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2013, 19:46   #1
Dieria
Пользователь
 
Регистрация: 26.01.2012
Сообщений: 14
По умолчанию Сортировка в гриде (SQL запрос)

Доброго времени суток!
Подскажите как сделать сортировку по дате, так чтоб последние записи отображались с верху.
Запрос написан следующий:
SELECT
goods.ENTRYCODE as Номенклатура,
GoodMoving.Document as Документ,
GoodMoving.Date as Дата,
goods.Name as Наименование,
goods.Width as Размер,
goods.Sort as Сорт,
GoodMoving.Count as Количество,
Switch(GoodMoving.MovingType='-',"Расход",GoodMoving.MovingType='+ ',"Приход") as Движение
FROM goods INNER JOIN GoodMoving ON goods.id = GoodMoving.Good;



Структура таблицы «goods»
Название поля Тип Описание
id счётчик Ключевое поле
ENTRYCODE текстовый Номенклатурный номер материала
Name текстовый Наименование материала
Measure текстовый Единица измерения материала
Width текстовый Размер материала
Sort текстовый Сорт материала
Price числовой Цена за единицу материала
Count числовой Количество материала на складе

Таблица 2
Структура таблицы «GoodMoving»
Название поля Тип Описание
id счётчик Ключевое поле
Document текстовый Наименование поставщика или заказчика
Date дата/время Дата записи об отпуске/поступлении
Good числовой ID материала который присваивается в таблице goods.
Count числовой Количество поступившего/отпущенного
MovingType текстовый Определяет поступление (+) или отпуск (-)
Спасибо за помощь
Dieria вне форума Ответить с цитированием
Старый 19.06.2013, 19:53   #2
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Код:
SELECT goods.ENTRYCODE as Номенклатура, GoodMoving.Document as Документ, GoodMoving.Date as Дата, goods.Name as Наименование, goods.Width as Размер, goods.Sort as Сорт, GoodMoving.Count as Количество,
  Switch(GoodMoving.MovingType='-',"Расход",GoodMoving.MovingType='+ ',"Приход") as Движение
FROM goods 
  INNER JOIN GoodMoving ON goods.id = GoodMoving.Good
ORDER BY GoodMoving.Date DESC
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 19.06.2013, 20:10   #3
Dieria
Пользователь
 
Регистрация: 26.01.2012
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
Код:
SELECT goods.ENTRYCODE as Номенклатура, GoodMoving.Document as Документ, GoodMoving.Date as Дата, goods.Name as Наименование, goods.Width as Размер, goods.Sort as Сорт, GoodMoving.Count as Количество,
  Switch(GoodMoving.MovingType='-',"Расход",GoodMoving.MovingType='+ ',"Приход") as Движение
FROM goods 
  INNER JOIN GoodMoving ON goods.id = GoodMoving.Good
ORDER BY GoodMoving.Date DESC
Спасибо, все получилось=)

И сразу попутный вопрос помогите написать запрос, для примерно такой же таблицы, но в которой будет отображаться материал (Номенклатурный нормер, сорт и тд.) и кол-во (Count в таблице Good) этого материала на складе.
Спасибо=)
Dieria вне форума Ответить с цитированием
Старый 19.06.2013, 22:14   #4
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
для примерно такой же таблицы
будет примерно такой же запрос
(каков вопрос - таков и ответ)
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 19.06.2013, 23:24   #5
Dieria
Пользователь
 
Регистрация: 26.01.2012
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
будет примерно такой же запрос
(каков вопрос - таков и ответ)
Угу, спасибо уже сам разобрался.
Только вот не получается ширину полей меня, программно меняю columns на нужные значения но ширина полей не меняется.
Dieria вне форума Ответить с цитированием
Старый 19.06.2013, 23:28   #6
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
программно меняю columns
columns чего?
если DataSet-а - и не будет ничего меняться.
Код:
DBGrid.Columns[<индекс колонки>].Width := <ширина>;
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL-запрос -MagicAlex- БД в Delphi 3 03.09.2010 09:22
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
Sql запрос KrPr SQL, базы данных 4 14.10.2009 11:19
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15