Foreach в SQL Server с использованием объединений - PullRequest
1 голос
/ 07 марта 2012

У меня небольшая проблема с хранимой процедурой в SQL Server 2005.

RepInfoID(primary), Date, RepID - столбцы в RepInfo

 1. 25660, 02/03/2012, 100
 2. 25661, 02/03/2012, 100
 3. 25662, 02/03/2012, 101

и

RepCID(primary), RepInfoID, Amount - столбцы в RepCollection

 1. 4343, 25660, 200(money)
 2. 4344, 25661, 600

Желаемые результаты:

100(RepID) , 02/03/2012, 800(money)

Может быть несколько строк с одной и той же датой.

Когда выбрана дата, foreach RepID на выбранную дату, я хочу сумму Amount в этот конкретный день. Я надеюсь, что я ясно.

Спасибо за вашу помощь ..

CREATE PROCEDURE [dbo].[PracticewithAmount]
(@Date datetime)
AS
BEGIN
Select * 
    from RepInfo 
left outer join RepCollection on RepInfo.RepInfoID = RepCollection.RepInfoID    
where RepInfo.Date = @Date 
      and distinct(RepID)
END

1 Ответ

1 голос
/ 07 марта 2012

Ваш вопрос не совсем понятен, но вот что, по-моему, вы говорите:

SELECT
   --i.RepInfoID(primary), 
   i.Date, 
   i.RepID,
   --c.RepCID(primary),
   --c.RepInfoID,
   sum(c.Amount) as Amount
FROM
   RepInfo i

   LEFT JOIN RepCollection c
   ON i.RepInfoID  = c.RepInfoID    
WHERE
   i.Date = @Date
GROUP BY
   i.Date,
   i.RepID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...