-
Подскажите, как можно сделать такой вот запрос.
Есть таблица с заказами у каждого заказа есть свой номер
надо выдать список всех заказов в котором будут присутствовать и те которых в таблице просто не существует
например
есть записи
№заказа Клиент
1 Вася
3 Петя
4 Коля
10 Рома
в резульятате выполнения запроса надо получить
1 Вася
2 -
3 Петя
4 Коля
5 -
6 -
...
10 Рома
СУБД FireBird
как такое сделать программно я представляю а вот можноли это сделать запросом к таблице??
или посоветуйте что лучше использовать в данном случае
-
придумал такой вот способ,
сделал таблицу в которой есть только одно поле №заказа и заполнил его значениями от 1 до 1000
и сделал Left join с таблицей заказов
ессесно где небыло заказа с таким номером то вместо заказчика стояло null
в принципе почти то что хотелось, но :)
может ктото предложит решение поизящнее (как говориться по Феншую) :)
-
> может ктото предложит решение поизящнее (как говориться по Феншую) :)
не удалять физически записи заказов, удалять и них ссылки на Васю, Петю, Колю, Рому...
а то и это лишнее, вдруг понадобится история, можно просто ставить пометку типа "выполнено".
-
> не удалять физически записи заказов, удалять и них ссылки
> на Васю, Петю, Колю, Рому...
их никто и не удаляет
их просто не занесли
:)
вот и надо собственно отобразить чего не хватает в базе
оптимально привязать к номеру хотя конечно это не факт, но тем не менее это может отобразить что кто то не занес должную запись
-
> их просто не занесли
порядковые номера заказов, что руками в базу заносят? странно весьма.
> кто то не занес должную запись
человек за этим не должен следить. а если это не порядковый номер, а какой то "левый" с бумажки то и порядок ничего не значит, это просто идентификатор бумажки. и это может даже не быть числом.
-
> порядковые номера заказов, что руками в базу заносят? странно
> весьма.
от в том то все и дело что программа им формирует бумажку с заказом а в базу не заносит ... я не могу ничего с этим сделать
запись о заказе отдельно фунциклирует
вот мне и надо им сформировать отчет о пропусках, и пускай сами разбираются куда дели какуюто бумажку, поднимая все архивы
:)
-
> а вот можноли это сделать запросом к таблице??
нет. до аналитических функций в Firebird вроде не додумались, переходи на Oracle
-
Да никуда ее (бумажку) не девали, а просто отказались от оформления заказа. Передумали.
Кроме того насколько я понимаю, что и задним числом этот номер уже не использовать.
-
> Да никуда ее (бумажку) не девали, а просто отказались от
> оформления заказа. Передумали.
Запросто
но! для аналитики, очень к стати былобы ежелиб знать от чего отказались и кто
и когда ;)
согласен??
и надо показать пользователю где искать
не будет он же глазками 40тыс. записей пробегать
-
> ford (27.04.2009 11:11:08) [8]
Информаци о когда и кто нет