A Microsoft extension to the ANSI SQL language that includes procedural programming, local variables, and various support functions.
Working from Naomi's solution:
DECLARE @t TABLE (val VARCHAR(30))
INSERT INTO @t (val)
SELECT * FROM (VALUES
('mike tea'), ('lemon tea'), ('miki shake')) x(val)
SELECT * FROM @t
SELECT STUFF( (SELECT ', ' + val FROM @t t2 WHERE t2.val <= t1.val FOR XML PATH('')),1,2,'') AS val2
FROM @t t1
ORDER BY val2
Now, you may object that the order is not what you wanted, but there is an important lesson to learn here: There is no way you can get that exact result you ask for in a guaranteed way. You may discern an order when you look at your data, but that order is a mirage. According to the rules of relational databases, a table is an unordered object. So if there is column to hold an order like an id, all we can sort on is the drink column itself. If you want to track that lemon tea comes in between mike tea and mike shake, you must have a column to encode this. There is no alternative.