Я делаю это в SAS, однако принципы должны применяться с sqlserver. У меня есть таблица, которая является результатом полного объединения по номеру счета, поэтому она выглядит так:
abc_accno xyz_accno
11111 .
22222 22222
. 66666
33333 33333
44444 44444
. 55555
Моя конечная цель - создать таблицу, которая выглядит следующим образом:
count_abc_accno count_xyz_accno matched_pairs
4 5 3
Итак, мой запрос таков:
create table matched_pairs as
select
count(abc_accno) as Count_abc_AccNo
,count(xyz_accno) as Count_xyz_AccNo
,(select count(abc_accno) as matched_pairs
from t1
where abc_accno = xyz_accno)
from t1
;
В итоге я получаю следующее:
count_abc_accno count_xyz_accno _randomname
4 5 3
Я думаю, что, вероятно, есть более элегантный способ сделать это, но мы работаем с инструментами (и знаниями), которые у нас есть. Я хочу, чтобы переменная совпадающих пар говорила совпадающие пары, но не могу понять, как получить ее от сгенерированного системой имени.
Как лучше всего это сделать go? Есть ли более элегантное решение, чем то, что я пытаюсь? (всегда, кажется, ... один день)