クエリを作成するためにあなたの助けが必要です。私はソフトウェアのキャリアが初めてで、Windows Mobile アプリケーション用の KBC タイプのクイズ ゲームを開発しようとしています。そのために、データベースからランダムなレコードを取得しようとします.1つのレコードが一度に表示されると、そのレコードは再び表示されなくなります. このクエリを使用します"SELECT TOP 1 * FROM Quiz ORDER BY NEWID()"
が、レコードが繰り返されます。
私のテーブル構造を以下に示します。
ColumnName DataType
Id int
Que varchar(150)
Ans1 varchar(100)
Ans2 varchar(100)
Ans3 varchar(100)
TrueAns varchar(100)
以下に示すストアプロシージャも作成しようとしています
DECLARE @counter int, @randno int, @uBound int, @lBound int
SELECT @uBound = Max(Id) FROM Quiz
SELECT @lBound = Min(Id) FROM Quiz
SELECT @randno = Round(((@uBound - @lBound) * Rand() + @lBound), 0)
SET @Counter = 0
WHILE @counter = 0
BEGIN
IF EXISTS(SELECT Id FROM Quiz WHERE Id = @randno)
BEGIN
SET NOCOUNT OFF
SELECT * FROM Quiz WHERE Id = @randno
SET @counter = 1
END
ELSE
BEGIN
SELECT @randno = Round(((@uBound - @lBound -1 ) * Rand() + @lBound), 0)
END
END
しかし、私は成功を収めることができません。私のテーブルには、このフィールド Que、Ans1、Ans2、Ans3、TrueAns が含まれています。この問題を解決してください。そして、すべてのレコードを返す Web サービスも作成したい