Для внутреннего контроля мы хотели бы выбрать один случайный счет для каждого из нескольких типов счетов и регионов.
Вот SQL, чтобы получить набор различных типов счетов и регионов
select InvoiceType,RegionID
from Invoices
group by InvoiceType, RegionID
Для каждой возвращаемой строки мне нужно выбрать случайную строку с этими InvoiceType
и RegionID
.Вот как я выбираю случайные строки:
SELECT top 1
CustomerID
,InvoiceNum
,Name
FROM Invoices
JOIN Customers on Customers.CustomerID=Invoices.CustomerID
where InvoiceType=X and RegionID=Y
ORDER BY NEWID
Но я не знаю, как запустить этот оператор select foreach()
row, который возвращает первый оператор.Я мог бы сделать это программно, но я бы предпочел вариант, использующий только хранимую процедуру, поскольку для этого запроса не требуется программа.