私は、米国の 50 州ごとに 50 列 (ビット値を含む) を含むテーブルを使用しています。1 を含むすべての列を返す SQL ステートメントを見つけようとしています。
どんな助けでも大歓迎です
これが新しい開発であり、既存のテーブルではない場合、次のことをお勧めします。(そうでなければ私は困惑しています。)多対多を実装したようです。@juergen d で提案されているように、州のテーブルを実装することをお勧めします(ビットフィールドはありませんが)。現在のエンティティをそのまま実装しますが、状態の列はありません。次に、州の ID 用とエンティティの ID 用の 2 つの列を持つ 3 番目のテーブルを実装します。
次に、エンティティのテーブルにビット フィールドを設定する代わりに、この 3 番目のテーブルにエントリを作成します。
その後、テーブルで結合を実行して、特定のエンティティに設定された状態を取得できます。
詳細については、 http://en.wikipedia.org/wiki/Many-to-many_(data_model)およびhttp://www.lornajane.net/posts/2011/inner-vs-outer-joins-on-aを参照してください。 -多対多の関係
テーブルのデザインを変更する必要があります。このようなものを使用する方が良い
States table
-------------------
id int
name varchar(100)
bitcol bit(1)
次に、このような状態を選択できます
select name from States
where bitcol = 1