Sql-Server

在 SQL Server 腳本中的 SELECT 末尾使用 X?

  • August 8, 2017

我對 T-SQL 比較陌生,並且通過查看我的前輩腳本,我發現了一條我無法完全解析的行。我一個人很難抬頭。希望得到建議。

這條線出現在 WHILE 循環中,但我認為這並不重要。我相信從功能上講,這是從共享 ID 的幾行中收集列中的值,並將它們用逗號連接到 1 個欄位中。但我不知道這叫什麼,也不知道如何查找它以自己使用它。

這個“x”最後在做什麼?誰能指點我這方面的資訊?

(select @invtid = coalesce(@invtid + ',',' ')+rtrim(RoleID) 
FROM (
   Select distinct roleid 
   from UserAccounts 
   WHERE CustID = @custID
    )
x)

謝謝。

“X”是以下部分的別名:

Select distinct roleid 
from UserAccounts 
WHERE CustID = @custID

因此,您可以將其用作:

SELECT x.roleid
FROM  
(    Select distinct roleid 
from UserAccounts 
WHERE CustID = @custID) x
where x.roleid >100

在宏偉的計劃中,您的查詢將如下所示:

(select @invtid = coalesce(@invtid + ',',' ')+rtrim(x.RoleID) 
FROM (
   Select distinct roleid 
   from UserAccounts 
   WHERE CustID = @custID
    )x
)

從技術上講,您可以使用任何東西作為別名。“X”,通常是一個更具描述性的別名。類似“角色”的東西

引用自:https://dba.stackexchange.com/questions/182889