0
是否有可能使用子查詢作爲查詢的返回列之一?使用子選擇作爲返回列
例如,我正在使用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 2012-02-13 21:22:59