SQL Serverデータベースで空きタグ番号を見つけようとしています。 *私は、すべての可能なタグ番号を宣言することでこれを行ってきた、とタグ番号が取られたとき、それはつまり、1に設定されたビット列があり、無料のタグ番号は、BIT = 0SQLで無料のタグ番号を見つける:SQLクエリの行に複数の数字を見つける方法
SELECT TOP(\*NUMBERS*) TAG
FROM \*DATABASE*
WHERE BIT = 0
を持っていますNUMBERS *は必要なタグの数です。問題は、いくつかのタグ番号が削除された後です。 5つのタグ番号(例えば、10,11,12,13,14,15)値の広がり(例えば、5,8,10,11,12)を得ることができる。私は、削除されたタグ番号を再利用できるようにしたいが、すべての数字を一列にしたい。
ベストプラクティス(SQLまたはC#)でこれをどのように解決できますか?
「結果をSQLで並べ替える方法は?」 – john
あなたの質問に_MySql_と_sql-server_という2つのタグを追加しました。このような質問をするときに、より正確に記述できますか? SQLの実装は、地球上のすべてのデータベースで同じではありません。おそらく、さまざまなデータベースに異なる回答があります。 – Steve
john:いいえ、 "by order by ..."と似ていませんが、すべてのタグ番号は前の番号より1つ多いはずです。したがって、元の投稿で説明しようとした例から、10,11,12,13,14,15が私の望むものですが、5,8,10,11,12は8が5 + 3であるために必要なものではありません。 5 + 1ではなく、10は8 + 1ではない。したがって、この場合、5と8はフィルタリングされている必要があります。なぜなら、次の必要な数字は空きではないからです。 スティーブ: 申し訳ありませんが、私はSQLサーバーを意味します。 – Kristin