У меня есть запрос, как это:Есть ли способ сократить этот запрос?
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
. Есть ли способ сократить этот запрос? Я спрашиваю об этом, потому что когда-то назад я увидел ключевое слово USING
в MySQL, которое упростило мою жизнь, и вы можете указать запрос один раз, а затем использовать его псевдоним для остальной части запроса.
+1 Благодарим за ваше время. Я думаю, что это то, что мне нужно. Это делает мой запрос более читаемым. Я приму это как ответ, когда истечет таймер. :) – Legend