jbz*_*jbz 5 sql-server scripting t-sql
我对 T-SQL 比较陌生,在查看我的前辈脚本时,我发现了一条我无法解析的行。自己去查查是一件很困难的事情。希望指教。
这条线出现在 WHILE 循环内,但我认为这并不重要。我相信从功能上讲,这是从共享 ID 的几行中的一列中收集值,并将它们用逗号连接到 1 个字段中。但我不知道这叫什么,也不知道如何查找以供自己使用。
这个'x'最后在做什么?谁能给我指点这方面的信息?
(select @invtid = coalesce(@invtid + ',',' ')+rtrim(RoleID)
FROM (
Select distinct roleid
from UserAccounts
WHERE CustID = @custID
)
x)
Run Code Online (Sandbox Code Playgroud)
谢谢。
“X”是以下部分的别名:
Select distinct roleid
from UserAccounts
WHERE CustID = @custID
Run Code Online (Sandbox Code Playgroud)
因此,您可以将其用作:
SELECT x.roleid
FROM
( Select distinct roleid
from UserAccounts
WHERE CustID = @custID) x
where x.roleid >100
Run Code Online (Sandbox Code Playgroud)
从总体上看,您的查询将如下所示:
(select @invtid = coalesce(@invtid + ',',' ')+rtrim(x.RoleID)
FROM (
Select distinct roleid
from UserAccounts
WHERE CustID = @custID
)x
)
Run Code Online (Sandbox Code Playgroud)
从技术上讲,您可以使用任何东西作为您的别名。“X”,通常是一个更具描述性的别名。有点像“角色”
归档时间: |
|
查看次数: |
3319 次 |
最近记录: |