- ベストアンサー
SQLで件数分SELECT結果を取得するには
SQLSERVERのSQLで以下の【期待する結果】を取得する方法はありますか? SELECT NAME,COUNT FROM CLASSROOM 【結果】 AAA,2 BBB,1 CCC,3 【期待する結果】 AAA AAA BBB CCC CCC CCC よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
DECLARE @RESULT TABLE( NAME varchar(10) ) DECLARE NAMEs CURSOR FOR SELECT NAME FROM @CLASSROOM DECLARE @NAME varchar(10) DECLARE @iCount int DECLARE @i int OPEN NAMEs FETCH NEXT FROM NAMEs INTO @NAME WHILE (@@FETCH_STATUS = 0) BEGIN SET @i = 0 SELECT @iCount = [COUNT] FROM @CLASSROOM WHERE NAME = @NAME WHILE @i < @iCount BEGIN INSERT INTO @RESULT(NAME) VALUES(@NAME) SET @i = @i + 1 END FETCH NEXT FROM NAMEs INTO @NAME END CLOSE NAMEs DEALLOCATE NAMEs SELECT * FROM @RESULT こんなのどうでしょう。
その他の回答 (2)
- t_ohta
- ベストアンサー率38% (5292/13826)
SELECT NAME FROM CLASSROOM じゃだめですか?
- maiko0333
- ベストアンサー率19% (839/4401)
select name from classroom where count=1 union select name from classroom where count=2 union select name from classroom where count=2 union select name from classroom where count=3 union select name from classroom where count=3 union select name from classroom where count=3 くらいしか思いつきませんね。