Полезные запросы
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) |
||
| Строка 25: | Строка 25: | ||
order by | order by | ||
1 desc, 2 desc | 1 desc, 2 desc | ||
| + | </pre> | ||
| + | |||
| + | Запрос извлекает контакты, наименования которых начинаются с одинаковой последовательности символов. Длину последовательности можно регулировать. | ||
| + | |||
| + | <pre> | ||
| + | select | ||
| + | c.id, c2.id, c.name, c2.name | ||
| + | from | ||
| + | gd_contact c join gd_contact c2 | ||
| + | on SUBSTRING(UPPER(c.name) FROM 1 FOR 9) = SUBSTRING(UPPER(c2.name) FROM 1 FOR 9) | ||
| + | and c.id <> c2.id | ||
| + | where | ||
| + | /* задайте здесь условие, для того, чтобы вести поиск не по всем контактам */ | ||
| + | UPPER(c.name) LIKE 'ИП%' | ||
</pre> | </pre> | ||
Версия 17:21, 1 декабря 2006
Среднее количество позиций по документу с позициями в базе данных:
select (select count (*) from gd_document where not parent is null) / (select count (distinct parent) from gd_document where not parent is null) from rdb$database
Распределение количества обращений клиентов по месяцам:
select
extract(year from m.msgstartdate),
extract(month from m.msgstartdate),
count(m.subject)
from
msg_message m join gd_contact c
on c.id = m.fromcontactkey
where
/* добавьте сюда условие для отбора по */
/* конкретному клиенту или группе клиентов */
UPPER(c.name) LIKE '%'
group by
1, 2
order by
1 desc, 2 desc
Запрос извлекает контакты, наименования которых начинаются с одинаковой последовательности символов. Длину последовательности можно регулировать.
select
c.id, c2.id, c.name, c2.name
from
gd_contact c join gd_contact c2
on SUBSTRING(UPPER(c.name) FROM 1 FOR 9) = SUBSTRING(UPPER(c2.name) FROM 1 FOR 9)
and c.id <> c2.id
where
/* задайте здесь условие, для того, чтобы вести поиск не по всем контактам */
UPPER(c.name) LIKE 'ИП%'