Найдено 119 результатов

mdfv
03 июл 2007, 21:11
Форум: Вопросы создания клиентских и серверных приложений
Тема: "Ambiguous field name between table" как обойти?
Ответы: 12
Просмотры: 11235

Ну до group by дело думаю не дойдет пока. Стараюсь таких не делать вещей. Это уже политический вопрос. В программе пользователю нужно видеть только в основном простые таблички для редактирования, максимум с джойнами вместо лукапов живых, которые удачно фильтруются на сервере. А во всяких сложных фор...
mdfv
03 июл 2007, 19:21
Форум: Вопросы создания клиентских и серверных приложений
Тема: "Ambiguous field name between table" как обойти?
Ответы: 12
Просмотры: 11235

Сами запросы хранятся в базе в фибовском репозитории датасетов, и там при необходимости переписывается под конкретные нужды. И стандартным(для фиба) образом оттуда автоматически вытягивается перед открытием датасета. А само приложение живет своей жизнью и не знает, что там творится. Если б все задав...
mdfv
03 июл 2007, 18:45
Форум: Вопросы создания клиентских и серверных приложений
Тема: "Ambiguous field name between table" как обойти?
Ответы: 12
Просмотры: 11235

У пользователя есть стандартная формочка для ввода фильтра по полям датасета. Внутри этой формы тупо берется свойство каждого видимого поля датасета DisplayName и его имя FieldName, пользователю соответсвенно показывается понятное описание полянки, а внутри оно соответсвует имени поля из датасета, с...
mdfv
03 июл 2007, 17:22
Форум: Вопросы создания клиентских и серверных приложений
Тема: "Ambiguous field name between table" как обойти?
Ответы: 12
Просмотры: 11235

"Ambiguous field name between table" как обойти?

Вот сборный из нескольких таблиц запрос примерно такого вида. select t1.pole1, t2.pole2 from table1 t1 left outer join table2 t2 on (t1.t2id=t2.id) Работает замечательно до тех пока пользователь не включит фильтрацию(серверная) по этим полям. А проблема в том что в этих таблицах есть поля с одинаков...
mdfv
02 июл 2007, 13:26
Форум: Общие проблемы
Тема: Странная проблема с left join
Ответы: 9
Просмотры: 5680

Дык так и можно.

Код: Выделить всё

select
U.UserId,
(
select
first 1
DateLogin
from Log_UserSession US
where DateLogoff is null and US.UserId = U.UserId
order by DateLogin desc
) as DateLogin
from Users U

mdfv
01 июл 2007, 17:47
Форум: Общие проблемы
Тема: Странная проблема с left join
Ответы: 9
Просмотры: 5680

По моему вы перемудрили, результат правильный выдан.
вместо

Код: Выделить всё

select
u.userid 
напишите

Код: Выделить всё

select
u.userid, us.* 
суть не изменится, а смысл появится.
mdfv
22 июн 2007, 11:31
Форум: Общие проблемы
Тема: Нужен ли сертификат, лицензии?
Ответы: 2
Просмотры: 3091

Фстэк этим лицензированием занимается, бывшая Гостехкомиссия. http://www.fstec.ru/ Там много документов по этому поводу. Если контора государственная/муниципальная, то надо использовать сертифицированные средства. Т.к. их эта комиссия и проверяет. Вот выдержка из Положения о сертификации средств защ...
mdfv
20 июн 2007, 15:44
Форум: Общие проблемы
Тема: Вопрос о оптимальном алгоритме поиска в БД
Ответы: 44
Просмотры: 23029

Что-то мне интересно стало как работает starting with наоборот. При таком раскладе получился натуральный перебор: select * from people pp where 'ЛЕНИНА' starting with(pp.ulica) и select * from people pp where 'ЛЕНИНА В' starting with(pp.ulica) А так уже с индексами: select * from people pp where (pp...
mdfv
20 июн 2007, 14:22
Форум: Общие проблемы
Тема: Вопрос о оптимальном алгоритме поиска в БД
Ответы: 44
Просмотры: 23029

stix-s писал(а): а зачем вообще длина шаблона? определяющим является длина номера телефона
...которая и сравнивается с длиной шаблона(который может иметь разную длину, для разных станций и способов формирования номера),
и если сразу не совпадает, то и искать нечего.
mdfv
20 июн 2007, 14:07
Форум: Общие проблемы
Тема: Вопрос о оптимальном алгоритме поиска в БД
Ответы: 44
Просмотры: 23029

В ХП
mdfv
20 июн 2007, 14:01
Форум: Общие проблемы
Тема: Вопрос о оптимальном алгоритме поиска в БД
Ответы: 44
Просмотры: 23029

перебирать в процедуре через starting with от длины тел номера(или максимальной длины префикса) до первого символа. и будет найден наиболее совпадающий шаблон префикса, дальше уже считать кол-во звездочек, или вообще изначально лучше отдельно хранить длину шаблона. И так будет достаточно быстро при ...
mdfv
02 май 2007, 21:41
Форум: Проектирование БД и запросов
Тема: Как узнать состояние на момент времени
Ответы: 7
Просмотры: 6571

Ну если на несколько таблиц, то можно, хоть тут и не советуют, сделать в одной процедуре execute statement и подставлять туда нужные имена таблиц параметром и имена различающихся полей. А если и процедуры не хочется, то можно совсем извратиться и запихать в execute block. Я на execute block-ах отчет...
mdfv
02 май 2007, 17:42
Форум: Проектирование БД и запросов
Тема: Как узнать состояние на момент времени
Ответы: 7
Просмотры: 6571

Так вот нужно выбрать значения для ID_OBJ==1 P_1,P_2,P_5 на любое число(например на 2007.01.04 P_1=6,P_2=null,P_5=Q1 ,а на 2007.01.05 P_1=5,P_2=5.5,P_5=Q1). Если я правильно понял то здесь надо до первого не null в P_1 и P_5 вниз по дате спускаться для данного ID_OBJ ? Тогда возможно быстрее в проц...
mdfv
02 май 2007, 17:24
Форум: Проектирование БД и запросов
Тема: Как узнать состояние на момент времени
Ответы: 7
Просмотры: 6571

И второе выбрать данные по последним выполненным действиям (например для даты 2007.01.07 последние выполненые операции ID_ACT=1-2007.01.07,ID_ACT=2-2007.01.05,ID_ACT=3-2007.01.03 ) Если я правильно понял суть, то примерно так(FB2): select GH1.ID_ACT , max(GH2. P_DATE) from (select distinct ID_ACT f...
mdfv
02 май 2007, 14:55
Форум: Проектирование БД и запросов
Тема: Как узнать состояние на момент времени
Ответы: 7
Просмотры: 6571

Аж интересно стало, что вы хотите...
Нельзя ли поподробнее и пример того что должно получиться?
mdfv
19 апр 2007, 08:32
Форум: FAQ
Тема: Удаление внешнего ключа
Ответы: 10
Просмотры: 10065

Легче взять IBExpert и посмотреть там зависимости.
Чуть труднее самому написать запрос из системных таблиц.
mdfv
03 апр 2007, 12:32
Форум: FAQ
Тема: varchar, starting with и индексы которых нет
Ответы: 2
Просмотры: 3941

varchar, starting with и индексы которых нет

Заметил странную вещь, в документах такого не нашел. Индексы по полю varchar отсутствуют. При использования запроса вида: select * from table where UPPER(fio) starting with('ШИ') при натуральном плане перебор идет не всех записей (~20 тыс) если прописать starting with('ШИШКИН') то идет чтение уже вс...
mdfv
04 мар 2007, 08:42
Форум: Вопросы создания клиентских и серверных приложений
Тема: Проблема с вычисляемым полем по таблице TMP$ATTACHMENTS
Ответы: 2
Просмотры: 4009

Проще тогда через TField.OnGetText procedure TBaseInfo.ConnectedUsersStateFieldGetText(Sender: TField; var Text: String; DisplayText: Boolean); begin if Sender.FieldName='TMP$STATE' then begin if trim(Sender.AsString) = 'ACTIVE' then Text := 'Активен' else if trim(Sender.AsString) = 'CONNECTED' then...
mdfv
01 мар 2007, 10:56
Форум: Лицензионное использование InterBase и других продуктов Borland
Тема: Delphi7 для обучения
Ответы: 21
Просмотры: 25225

sts писал(а): А это что такое?
http://freepascal.ru/