Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Подсчет количества записей  [new]
Nikolay_1984
Member [заблокирован]

Откуда: из туманной далёкой Невнятности
Сообщений: 2239
Добрый день,
Подскажите как в приведенное ниже представление в отдельное поле вывести
количество записей, получаемых записей, те
что-то as Количество.

CREATE VIEW Number_Doc
AS
SELECT
a.fd_from AS fd_from_as_int
, CONVERT(datetime, str(a.fd_from), 112) AS fd_from
, c.ct_itcode AS ct_itcode
, c.ct_name AS ct_name

FROM dafpdocs a
, dc_fp b
, dacldctp c
WHERE b.dc_id = a.fd_id
AND c.ct_id = a.fd_type
AND a.fd_from>=20060101
AND a.fd_from<=20061201
30 дек 05, 12:44    [2223570]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
GROUP BY не подходит? Или что такое количество записей?
30 дек 05, 12:48    [2223588]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
Nikolay_1984
Member [заблокирован]

Откуда: из туманной далёкой Невнятности
Сообщений: 2239
ТЕ чтобы в отдельную колоночку выводилось количество записей,
все элементы колонки одинаковые
30 дек 05, 12:51    [2223605]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
Так и не понял, но осмелюсь предложить:
CREATE VIEW Number_Doc
AS
SELECT 
a.fd_from AS fd_from_as_int
, CONVERT(datetime, str(a.fd_from), 112) AS fd_from
, c.ct_itcode AS ct_itcode
, c.ct_name AS ct_name
, count(*) AS Quantity
FROM dafpdocs a
, dc_fp b
, dacldctp c
WHERE b.dc_id = a.fd_id
AND c.ct_id = a.fd_type
AND a.fd_from>=20060101
AND a.fd_from<=20061201
GROUP BY
a.fd_from
, CONVERT(datetime, str(a.fd_from), 112)
, c.ct_itcode
, c.ct_name
30 дек 05, 13:42    [2223803]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Наверное ему всё же надо число строк, возвращаемой тем запросом.
30 дек 05, 13:46    [2223818]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
Nikolay_1984
Member [заблокирован]

Откуда: из туманной далёкой Невнятности
Сообщений: 2239
Именно так нужно чтобы в отдельную колонку выводилось число строк приведенного мной запроса.
30 дек 05, 14:05    [2223897]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
SELECT 
a.fd_from AS fd_from_as_int
, CONVERT(datetime, str(a.fd_from), 112) AS fd_from
, c.ct_itcode AS ct_itcode
, c.ct_name AS ct_name
, (SELECT 
	a.fd_from AS fd_from_as_int
	, CONVERT(datetime, str(a.fd_from), 112) AS fd_from
	, c.ct_itcode AS ct_itcode
	, c.ct_name AS ct_name
	
	FROM dafpdocs a
	, dc_fp b
	, dacldctp c
	WHERE b.dc_id = a.fd_id
	AND c.ct_id = a.fd_type
	AND a.fd_from>=20060101
	AND a.fd_from<=20061201) as Количество
FROM dafpdocs a
, dc_fp b
, dacldctp c
WHERE b.dc_id = a.fd_id
AND c.ct_id = a.fd_type
AND a.fd_from>=20060101
AND a.fd_from<=20061201
30 дек 05, 14:10    [2223920]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
Может быть так (не понятно для чего это нужно? И работать будет долго):
SELECT 
a.fd_from AS fd_from_as_int
, CONVERT(datetime, str(a.fd_from), 112) AS fd_from
, c.ct_itcode AS ct_itcode
, c.ct_name AS ct_name
, (SELECT count(*)	
	FROM dafpdocs a
	, dc_fp b
	, dacldctp c
	WHERE b.dc_id = a.fd_id
	AND c.ct_id = a.fd_type
	AND a.fd_from>=20060101
	AND a.fd_from<=20061201) as Quantity
FROM dafpdocs a
, dc_fp b
, dacldctp c
WHERE b.dc_id = a.fd_id
AND c.ct_id = a.fd_type
AND a.fd_from>=20060101
AND a.fd_from<=20061201
30 дек 05, 14:15    [2223942]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
Nikolay_1984
Member [заблокирован]

Откуда: из туманной далёкой Невнятности
Сообщений: 2239
Вот что он пишет:
Server: Msg 116, Level 16, State 1, Line 1
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
30 дек 05, 14:16    [2223950]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
Nikolay_1984
Member [заблокирован]

Откуда: из туманной далёкой Невнятности
Сообщений: 2239
Prolog спасибо, то что нужно.

Смысл в следующем необходимо клиенты показать что документов, удовлетворяющих определенной характеристике
определенное количество. ТК графическая оболочка написанная для базы валится более чем на 100000 документов
30 дек 05, 14:19    [2223959]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Prolog
Может быть так (не понятно для чего это нужно? И работать будет долго):
SELECT 
a.fd_from AS fd_from_as_int
, CONVERT(datetime, str(a.fd_from), 112) AS fd_from
, c.ct_itcode AS ct_itcode
, c.ct_name AS ct_name
, (SELECT count(*)	
	FROM dafpdocs a
	, dc_fp b
	, dacldctp c
	WHERE b.dc_id = a.fd_id
	AND c.ct_id = a.fd_type
	AND a.fd_from>=20060101
	AND a.fd_from<=20061201) as Quantity
FROM dafpdocs a
, dc_fp b
, dacldctp c
WHERE b.dc_id = a.fd_id
AND c.ct_id = a.fd_type
AND a.fd_from>=20060101
AND a.fd_from<=20061201
Ну, да. Извиняюсь - поторопился :-/
30 дек 05, 14:19    [2223967]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Nikolay_1984
Смысл в следующем необходимо клиенты показать что документов, удовлетворяющих определенной характеристике
определенное количество. ТК графическая оболочка написанная для базы валится более чем на 100000 документов
А не проще прочитать в клиенте соответствующее свойство рекордсета?
30 дек 05, 14:20    [2223972]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
Nikolay_1984
Member [заблокирован]

Откуда: из туманной далёкой Невнятности
Сообщений: 2239
tpg
Nikolay_1984
Смысл в следующем необходимо клиенты показать что документов, удовлетворяющих определенной характеристике
определенное количество. ТК графическая оболочка написанная для базы валится более чем на 100000 документов
А не проще прочитать в клиенте соответствующее свойство рекордсета?


Клиент уже не верит тому что выдает оболочка, что правильно тк программисты море ошибок там понаделали а тому что показывает анализатор пока верил.
30 дек 05, 14:24    [2223994]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
Nikolay_1984
Prolog спасибо, то что нужно.

Смысл в следующем необходимо клиенты показать что документов, удовлетворяющих определенной характеристике
определенное количество. ТК графическая оболочка написанная для базы валится более чем на 100000 документов
А не лучше ли количество подсчитывать отдельно. Я бы все-таки из view убрал бы count(*).
30 дек 05, 14:26    [2224004]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет количества записей  [new]
Nikolay_1984
Member [заблокирован]

Откуда: из туманной далёкой Невнятности
Сообщений: 2239
Нет все нормально, этот селект уже отработал от меня(те за время меньшее получаса), я ткну клиента носом в результат запроса и скажу что обработка
подобного объема оболочкой в договоре не подразумевалось.
Prolog Вам большое спасибо
30 дек 05, 14:30    [2224017]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить