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

Откуда:
Сообщений: 5
Здравствуйте, буду благодарен за помощь.
Существует две таблицы:
Table1 с полем name - имя объекта
Table2 с полями name - имя объекта, data - данные по этому объекту, dDate- дата внесения данных
В Table2 каждый день заносяться какие-то изменения для определенных объектов.
Требуется:
в одном запросе выдать данные SUM(data), AVG (data), MIN (Data), MAX(Data) по каждому объекту из Table2.
Т.е. надо вначале отсканировать Table1, и каким-то образом передать параметр @object к оператору where data>'01/01/2004' and name=@object
не подскажите ли пример или какой-либо совет где можно посмотреть.
3 фев 04, 09:49    [518147]     Ответить | Цитировать Сообщить модератору
 Re: Сканирование таблицы и цикл в запросе  [new]
Glory
Member

Откуда:
Сообщений: 104760
Что-то не понятно - зачем что-то сканировать ?

select SUM(data), AVG (data), MIN (Data), MAX(Data)
from table2
where name=@object
3 фев 04, 09:54    [518159]     Ответить | Цитировать Сообщить модератору
 Re: Сканирование таблицы и цикл в запросе  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
SELECT

T1.ObjectName,
SUM(T1.data),
AVG(T1.data),
MIN(T1.Data),
MAX(T1.Data)
FROM
Table1 T1
INNER JOIN Table2 T2 ON
T1.ObjectName = T2.ObjectName
WHERE
T1.dData > '1/1/2004'
GROUP BY
T1.ObjectName


???
3 фев 04, 09:58    [518164]     Ответить | Цитировать Сообщить модератору
 Re: Сканирование таблицы и цикл в запросе  [new]
rusl
Member

Откуда:
Сообщений: 5
Все правельно
только запрос
Select SUM (Data) ....
from Table2
where date='///' and name=@Object
работает когда ты знаешь Объект, а если этих объектов около 40? Причем они могут каждый раз поплняться. Именно для этого требуется отсканировать Table1. В этой таблице поле name уникальное. А в Table2, поле name может повторяться.
3 фев 04, 09:59    [518167]     Ответить | Цитировать Сообщить модератору
 Re: Сканирование таблицы и цикл в запросе  [new]
iSestrin
Member

Откуда: Новосибирск
Сообщений: 3811
>по каждому объекту из Table2.< - тогда то же самое с группировкой group by name
3 фев 04, 09:59    [518168]     Ответить | Цитировать Сообщить модератору
 Re: Сканирование таблицы и цикл в запросе  [new]
andkom
Guest
НАверное имелся ввиду запрос вида

select A.id, sum(room) FROM Tbl1 A
left join Tbl2 B ON A.id = B.id
group by A.id
3 фев 04, 10:02    [518172]     Ответить | Цитировать Сообщить модератору
 Re: Сканирование таблицы и цикл в запросе  [new]
rusl
Member

Откуда:
Сообщений: 5
Спасибо, получилось Огромное спасибо.
3 фев 04, 10:04    [518174]     Ответить | Цитировать Сообщить модератору
 Re: Сканирование таблицы и цикл в запросе  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
2 pkarklin
А в Table1 у него колонки dDate нет...

Ну что ж так оляписта ставить условия? Причем здесь сканирование Table1? Что конкретно надо получить?
Хотя, думаю, что ответов наводящих на нужную мысль достаточно.
3 фев 04, 10:04    [518176]     Ответить | Цитировать Сообщить модератору
 Re: Сканирование таблицы и цикл в запросе  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
2 tpg

автор
А в Table1 у него колонки dDate нет...


Сорри, она у автора в Е2. Очепятался.
3 фев 04, 10:25    [518203]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить