![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как проверить колличество одинаковых записей в поле [D7, Paradox]
vodvorezlaya © (2006-09-21 13:01:00)Всем доброго времени суток.
Подскажите как проверить. После добавления записи в конец таблици (Append) существует там такая-же запись или нет?
Есть ли для этого специальный метод?
Спасибо.
Sergey13 (2006-09-25 10:13:00) [1]> [57] vodvorezlaya (25.09.06 10:12)
Все знают. А когда не знают - ищут поисковиками.
vodvorezlaya (2006-09-25 10:12:00) [2]off top: Кто-то знает в нете где можно скачать книгу по SQL?
Сергей М. (2006-09-25 09:58:00) [3]
> vodvorezlaya (25.09.06 09:51) [53]
> колличество записей могут совпадать
С чемсовпадать ?
ЮЮ (2006-09-25 09:55:00) [4]SELECT Nomer, COUNT(Nomer) Kolichestvo From Table GROUP BY Nomer
P/S/ Этот форум - не ликбез. Справку хотя бы почитай.
Sergey13 (2006-09-25 09:53:00) [5]> [53] vodvorezlaya (25.09.06 09:51)
> Да знаю, это на будущее.
Обычно - сначала образование, потом применение этого образования. Если наоборот - это изврат.
ИМХО.
vodvorezlaya (2006-09-25 09:51:00) [6]
> При наличии активного уник.индекса по полю 'Nomer' кол-во
> записей под любым "номером" всегда будет не более одной.
>
Номера не повторяются, а колличество записей могут совпадать.
> Достаточно книжку почитать про SQL.
Да знаю, это на будущее.
Сергей М. (2006-09-25 09:47:00) [7]
> vodvorezlaya (25.09.06 09:39) [50]
> FieldByName('Nomer'); - unique;
> колличество записей под номером 1,2,3..99
При наличии активного уник.индекса по полю 'Nomer' кол-во записей под любым "номером" всегда будет не более одной.
Sergey13 (2006-09-25 09:46:00) [8]> [50] vodvorezlaya (25.09.06 09:39)
> И нужно создать таблицу в Query чтоб отображала колличество записей под номером 1,2,3..99.
Достаточно книжку почитать про SQL.
vodvorezlaya (2006-09-25 09:39:00) [9]
> Ну и зачем это надо ?
Для подсчёта статистики.
[45] а без хешей никак?
Да там намного проще
там повторяющийся столбик типа SmallInt в котором всего то от 1 до 99 диапазон.
И нужно создать таблицу в Query чтоб отображала колличество записей под номером 1,2,3..99.
FieldByName('Nomer'); - unique;
FieldByName('Kolichestvo');
Сергей М. (2006-09-25 09:25:00) [10]
> vodvorezlaya (25.09.06 09:08) [48]
Ну и зачем это надо ?
См. [45] ...Но только в случае с Парадоксом вычислением хэша должна заниматься не серверная, а клиентская сторона.
var
StrValue: String;
HashCode: Integer;
..
HashCode := GetHashCodeOfString(StrValue);
SQLInsertStatement := 'INSERT INTO MyTable(SomeStrField, HashCode) VALUES(' + QuotedStr(StrValue) + ',' + IntToStr(HashCode) + ' )'
vodvorezlaya (2006-09-25 09:08:00) [11]
> Сергей М. © (25.09.06 09:02) [47]
Ну например создать промежуточную таблицу, 1-й столбик это возможно повторяющееся значение, а второй столбик - сколько это значение раз повторилось.
P.S. Такое сделать можно, только с полями соответствия (при помощи SQL Builder'а я делал) Узнаешь сколько раз ссылается одно поле на другое.
Код могу привести.
Сергей М. (2006-09-25 09:02:00) [12]
> vodvorezlaya (25.09.06 08:20) [46]
Ты о чем ?
vodvorezlaya (2006-09-25 08:20:00) [13]А на SQL как то можно?
Сергей М. (2006-09-22 11:33:00) [14]
> zdm © (22.09.06 11:04) [41]
> ну в FB.. как?
Без специальных дополнительных "телодвижений" - никак.
Можно, к примеру, дополнить таблицу уникально индексированным полем хэш-кода для строкового поля, требующего регистронезависимую уникальность.
Пишется (или используется готовая) UDF, на вход которой подается строка, а на выходе которой формируется регистронезависимый 32-х или 64-хразрядный код для этой строки. Остается подключить эту UDF в триггерах на вставку/обновление.
zdm (2006-09-22 11:30:00) [15]
>
> Johnmen ©
Не отвичай все нашел, спасибо, извините за лень
zdm (2006-09-22 11:29:00) [16]
> Johnmen ©
Спасибо, правда, но блин времени нет, хотя конечно ibase.ru форева.. простото если можно, заранее прошу прощения у автора, как создать, "чувствительность к регисьру"?
Johnmen (2006-09-22 11:24:00) [17]В IB/FB/YA регистр всегда различается, отключить нельзя. Хотя, м.б. в последней версии ФБ что-то есть на эту тему.
Если интересно, сходи на ibase.ru, там море инфы.
zdm (2006-09-22 11:04:00) [18]ну в FB, с помощью IBExpert как?
Johnmen (2006-09-22 10:59:00) [19]
> zdm © (22.09.06 10:51) [39]
> как выставить, различение регистра? правда
> не нашел, заранее спасибо
Для Парадокса никак.
Мы же говорим общё, о серверах БД. Для некоторых это возможно....
zdm (2006-09-22 10:51:00) [20]
> Johnmen ©
как выставить, различение регистра? правда не нашел, заранее спасибо