Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с SQL


Страницы:   1 2 3 4

Вика ©   (2004-08-13 14:45:00) 

Помогите с написанием SQL для решения следующей задачи:

есть постоянная таблица карточек, еженедельно из другой проги с некоторую таблицу выгружатся карточки со полем статуса "USED". Эту самую табличку надо стравнить с постоянной таблицей карточек и поменять у соответствующих карточек статус "AVAILABLE" на "USED" и проставить в поле statuschange дату изменения статуса.


Ega23   (2004-08-13 16:13:00) [41]

приведите пример...

Я только один знаю - когда в качестве БД используешь плоские файлы собственного формата. Так делать, теоретическиЮ можно. Практически - изврат.


Квэнди   (2004-08-13 16:11:00) [42]

46_55_41_44: И еще вопрос: вы много приложений написали, использующих SQL?.. по-мойму нет, совет вам один: почитайте подробное описание SQL и, возможно, тогда вы передумаете....
А вот про клиент сервер.... ждем ответа :)


Квэнди   (2004-08-13 16:08:00) [43]

46_55_41_44:
ето не ирония, а просто удивление.... кстати, Чайник очень правильно сказал: приведите пример...


Ega23   (2004-08-13 16:07:00) [44]

Ирония не уместна помоему...

Отнюдь. Что такое технология "клиент-сервер"?


46_55_41_44   (2004-08-13 16:04:00) [45]

Ирония не уместна помоему...


Квэнди   (2004-08-13 16:03:00) [46]

Нужно делать программно... все С SQL не сделаешь.. могу помочь, если хошь...

Очень интересное заявление, а вы вкурсе что большинство приложений, разработанных для обработки баз дынных используют Delphi исключительно как визуальную оболочку?


Чайник   (2004-08-13 16:01:00) [47]

46_55_41_44:
Мда... оригинально.. приведи пожалуйста пример того что нельзя сделать на sql?


Ega23   (2004-08-13 15:59:00) [48]

Нужно делать программно... все С SQL не сделаешь.

Да ну?


46_55_41_44   (2004-08-13 15:52:00) [49]

Нужно делать программно... все С SQL не сделаешь.. могу помочь, если хошь...


1008   (2004-08-13 15:31:00) [50]

Вика  (13.08.04 15:11) [10]

Например:
1. отсортировать постоянную таблицу по статусу "UNUSED" (или как он у вас обозначен);
2. пройтись по отсортированным записям и сравнить есть ли данная текущая запись во "временной" таблице;
2.1. если есть, то внести изменения в постоянную таблицу
2.2. смотрим следующую запись.


Skyle   (2004-08-13 15:26:00) [51]

UPDATE ConstTable
SET ConstTable.Status = T.Status,
   ConstTable.dateStatusChange = T.dateStatusChange
FROM TempTable T
WHERE ConstTable.Id = T.ID


Оно?
ConstTable - постоянная таблица, TempTable - еженедельная.


Вика   (2004-08-13 15:16:00) [52]

2 Skyle ©  

Сложность - в общем-то в том, что я не знаю как этот запрос написать на SQL :(


Skyle   (2004-08-13 15:15:00) [53]

А в чём именно сложность заключается?


Вика   (2004-08-13 15:11:00) [54]

2 1008 ©  

В этой таблице только часть всеобщей таблицы, подмножество записей у которых status = "USED". Это значит в другой программе за неделю изменились статусы некоторых карточек, и в эту "временную" таблицу выгружается это подмножество записей со статусом "used". В то время как всеобщая таблица не изменяется и надо ее сравнить с этой временной и изменить статусы у соттветствующих записей.


Skyle   (2004-08-13 15:09:00) [55]

Есть таблица - справочкик (постоянная). Есть некоторая таблица, в которой перечислен список карточек со статусом Used.
Требуется для этого списка в постоянной таблице поставить дату (dateStatusChange) и Status в 'Used'.
Связь таблиц по ID.

Я правильно понял?
То есть, изменить нужно постоянную таблицу, так?


1008   (2004-08-13 15:07:00) [56]

Вика  (13.08.04 15:05) [7]

Если статус в постоянной таблице всё-равно будет изменён на USED, то почему бы его сразу не изменять? Тогда отпадёт необходимость переноса.


Вика   (2004-08-13 15:05:00) [57]

Временная таблица это навеоное не совсем правильный я термин употребила, т.е. имелось в ивду таблица, в которую данные загружаются  с периодичность раз в неделю. Используется БД MS Access, ADO в Delphi.


Вика   (2004-08-13 15:04:00) [58]

2 Skyle ©
Постоянная таблица:

id
seria
status
numSeller
dateStatusChange

Временная таблица все тоже самое, только значения всех полей status = "USED".


1008   (2004-08-13 15:02:00) [59]

А данные во второй таблице дублируют постоянную?


Квэнди   (2004-08-13 15:01:00) [60]

сори


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо