私は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」は通常、より説明的なエイリアスで機能します。 「役割」のようなもの