Полезные запросы

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
Строка 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 'ИП%'
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты