gpt4 book ai didi

sql - 在标量子查询中创建别名 - SQLServer

转载 作者:行者123 更新时间:2023-12-02 07:59:01 24 4
gpt4 key购买 nike

我在 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

我认为可能有更优雅的方法来做到这一点,但我们使用的是我们拥有的工具(和知识)。我希望匹配对变量表示匹配对,但无法弄清楚如何将其从系统生成的名称中删除。

执行此操作的最佳方法是什么?有没有比我正在尝试的更优雅的解决方案? (好像总有……总有一天)

最佳答案

使用 as 分配列别名:

create table matched_pairs as
select count(abc_accno) as Count_abc_AccNo,
count(xyz_accno) as Count_xyz_AccNo,
(select count(abc_accno)
from t1
where abc_accno = xyz_accno
) as matched_pairs
from t1;

子查询中的别名与外部查询无关。子查询只是返回一个值。您必须在外部查询中分配别名。

关于sql - 在标量子查询中创建别名 - SQLServer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59794984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com