проблемы, которую я пытаюсь решить, чтобы знать, как часто комбинация будет больше появляться в том же RegistrationID и значение limitid из 33 и 5.Лучшего способ вхождения строк на основе того же идентификатор
Это пара Строки, которые у меня есть в таблице базы данных SQL:
id limitid registrationid
---------------------------------------
113 33 3712
114 5 3712
116 33 3713
117 5 3713
1428 33 3714
1434 5 3720
В этой таблице может иметься 0, 1 или два значения. Ищу для случая, когда regsitrationId имеет два значения и поместить соответствующие limitid (совмест с RegistrationID) в наборе результатов, как:
limitid1 limitid2 registrationid
------------------------------------------
33 5 3712
Для достижения этой цели я использую этот SQL-код:
DECLARE @t TABLE(
id int NOT NULL,
regid int NOT NULL,
limitid int not null
);
insert into @t
SELECT Id, RegistrationId, limitid
FROM my-table
WHERE (LimitId = 33)
ORDER BY RegistrationId
DECLARE @t2 TABLE(
id int NOT NULL,
regid int NOT NULL,
limitid int not null
);
insert into @t2
SELECT Id, RegistrationId, limitid
FROM my-table
WHERE (LimitId = 5)
ORDER BY RegistrationId
declare @t3 Table(
regid int NOT NULL,
limitid1 int not null,
limitid2 int not null
);
insert into @t3
SELECT t1.RegId, t1.limitid, t2.limitid
FROM @t as t1
join @t2 as t2
on t1.regid = t2.regid
select * from @t3
Вопрос: есть ли другой способ улучшить тот же результат?
спасибо!
Вы должны объяснить лучше что вы пытаетесь сделать. Я не думаю, что это очень ясно. –
@FilipeSilva Я внесла изменения в свой вопрос. – Roger