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

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

список несуществующих записей


ford ©   (2009-04-26 16:18:00) 

Подскажите, как можно сделать такой вот запрос.
Есть таблица с заказами у каждого заказа есть свой номер
надо выдать список всех заказов в котором будут присутствовать и те которых в таблице просто не существует
например
есть записи
№заказа Клиент
1            Вася
3            Петя
4            Коля
10          Рома

в резульятате выполнения запроса надо получить
1           Вася
2           -
3           Петя
4           Коля
5           -
6           -
...
10         Рома

СУБД FireBird

как такое сделать программно я представляю а вот можноли это сделать запросом к таблице??
или посоветуйте что лучше использовать в данном случае


Anatoly Podgoretsky   (2009-04-27 11:53:00) [1]

> ford  (27.04.2009 11:11:08)  [8]

Информаци о когда и кто нет


ford   (2009-04-27 11:11:00) [2]


> Да никуда ее (бумажку) не девали, а просто отказались от
> оформления заказа. Передумали.

Запросто
но! для аналитики, очень к стати былобы ежелиб знать от чего отказались и кто
и когда ;)
согласен??
и надо показать пользователю где искать
не будет он же глазками 40тыс. записей пробегать


Anatoly Podgoretsky   (2009-04-27 09:08:00) [3]

Да никуда ее (бумажку) не девали, а просто отказались от оформления заказа. Передумали.
Кроме того насколько я понимаю, что и задним числом этот номер уже не использовать.


Игорь Шевченко   (2009-04-26 19:44:00) [4]


> а вот можноли это сделать запросом к таблице??


нет. до аналитических функций в Firebird вроде не додумались, переходи на Oracle


ford   (2009-04-26 18:33:00) [5]


> порядковые номера заказов, что руками в базу заносят? странно
> весьма.

от в том то все и дело что программа им формирует бумажку с заказом а в базу не заносит ... я не могу ничего с этим сделать
запись о заказе отдельно фунциклирует

вот мне и надо им сформировать отчет о пропусках, и пускай сами разбираются куда дели какуюто бумажку, поднимая все архивы
:)


sniknik   (2009-04-26 18:29:00) [6]

> их просто не занесли
порядковые номера заказов, что руками в базу заносят? странно весьма.

> кто то не занес должную запись
человек за этим не должен следить. а если это не порядковый номер, а какой то "левый" с бумажки то и порядок ничего не значит, это просто идентификатор бумажки. и это может даже не быть числом.


ford   (2009-04-26 18:18:00) [7]


> не  удалять физически записи заказов, удалять и них ссылки
> на  Васю, Петю, Колю, Рому...

их никто и не удаляет
их просто не занесли
:)
вот и надо собственно отобразить чего не хватает в базе

оптимально привязать к номеру хотя конечно это не факт, но тем не менее это может отобразить что кто то не занес должную запись


sniknik   (2009-04-26 17:52:00) [8]

> может ктото предложит решение поизящнее (как говориться по Феншую) :)
не  удалять физически записи заказов, удалять и них ссылки на  Васю, Петю, Колю, Рому...
а то и это лишнее, вдруг понадобится история, можно просто ставить пометку типа "выполнено".


ford   (2009-04-26 17:23:00) [9]

придумал такой вот способ,
сделал таблицу в которой есть только одно поле №заказа и заполнил его значениями от 1 до 1000
и сделал Left join с таблицей заказов
ессесно где небыло заказа с таким номером то вместо заказчика стояло null
в принципе почти то что хотелось, но :)
может ктото предложит решение поизящнее (как говориться по Феншую) :)


Наверх

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