2
我有這樣的查詢:有沒有辦法縮短這個查詢?
SELECT Name,
REPLACE(RTRIM((
SELECT CAST(Score AS VARCHAR(MAX)) + ' '
FROM
(SELECT Name, Score
FROM table
WHERE
---CONDITIONS---
) AS InnerTable
WHERE (InnerTable.Name = OuterTable.Name) FOR XML PATH (''))),' ',', ') AS Scores
FROM table AS OuterTable
WHERE
---CONDITIONS---
GROUP BY Name;
如可以看到,我使用的是同一套條件推導InnerTable
和OuterTable
。有沒有辦法縮短這個查詢?我問這個問題是因爲在某些時候,我看到MySQL中的關鍵字USING
簡化了我的生活,您可以使用它來指定查詢一次,然後將其別名用於查詢的其餘部分。
+1謝謝你的時間。我認爲這是我需要的。它使我的查詢更具可讀性。當定時器到期時,我會接受這個答案。 :) – Legend 2011-06-16 19:03:49