0
返されたクエリの列の1つとして副選択を使用できますか?返された列としてサブ選択を使用
たとえば、私はMySqlを使用していますが、いくつかのデータに関連付けられたIDのリストを含むテーブルがあります。特定のデータ項目に関連付けられたIDを別の表からカンマ区切りのVarCharリストに変換したいと思います。
DECLARE pr_StudentId INT; -- An input parameter
DECLARE @Classes VARCHAR(4096);
SELECT @Classes = COALESCE(@Classes + ',', '') + ClassTable.ClassId
FROM ClassTable, StudentTable
WHERE ClassTable.Id = StudentTable.Id
AND StudentTable.Id = p_StudentId;
しかし、問題は、私は別の範囲内にあるStudentTable、(例えば)から他のデータと一緒に選択することを返す必要があるということです:私はの線に沿って何かを使用することを行うことができます知っていますストアドプロシージャ。これまでのところ、私はこれを持って、私はそれが働いて取得する方法をかなりよく分からない:より良い方法があるかどう
SELECT
StudentTable.Id,
StudentTable.Name,
(
SELECT @Classes
FROM
(
SELECT @Classes = COALESCE(@Classes + ',','') + ClassTable.ClassId
FROM ClassTable, StudentTable
WHERE ClassTable.Id = StudentTable.Id
)
) AS ClassList,
...
FROM StudentTable ....
WHERE ....
誰もが、これはこれを行うには正しい方法であるかどうかにいくつかの光を当てることができ、またはもしそれが可能であれば?
事前に感謝します。
これはちょうど私が後になっているようです。以前にどうやってそれを見つけられなかったかわからない!やってみます。迅速な対応に感謝します。 – DBPaul