Это мой первый процесс tsql.мой первый tsql proc
Мне нужно сгруппировать информацию из таблицы в другую таблицу. В моей входной таблице может быть более одной записи для одного человека (name
+ zip
+ dob
+ incident_date
)
Я должен сгруппировать их и добавить их в другую таблицу
Select Distinct
1 As recordid,
r.firstname + ' ' + r.lastname As fullname,
STUFF
(
(
Select ',' + Cast(a.[TicketID] As Varchar)
From tmp a
Where r.[FirstName] = a.[FirstName]
And r.[LastName] = a.[LastName]
And r.zip = a.zip
And r.dob = a.dob
And r.incidentDate = a.incidentDate
For XML Path('')
), 1, 1, ''
) As textCol2,
(
Select Count(*) cnt
From tmp a
Where r.[FirstName] = a.[FirstName]
And r.[LastName] = a.[LastName]
And r.zip = a.zip
And r.dob = a.dob
And r.incidentDate = a.incidentDate
) count_incident
From tmp r
Есть над SQL хорошо в исполнении
или вы можете предложить мне, как добиться этого в магазине-процедуры должен открыть цикл и использовать переменные для конкатенации записей
create cursor c1
select distinct [FirstName], [LastName],
a.zip, dob, incidentDate from tmp
open cursor c1
while
code to fetch records for each row in c1
open another cursor....
Мы не можем дать вам большой ответ, потому что у вас не было много деталей. Вам абсолютно НЕ нужно использовать курсоры здесь. –
жаль, что я не был чист. Мой вопрос: действительно ли мне нужна процедура, если я могу сделать это в одном sql. вставить в таблицу таргетинга выберите. Это лучший подход. Или выше код - это плохой код? –
user3380585
Спасибо Шон Ланге. можете ли вы предложить мне, как получить альтернативу выше sql в SP (хранимая процедура) – user3380585