私は中米の小さな診療所のためのデータベースを作成しています。データベースには、一連のイエスまたはノー質問のための数十のフィールドを持つ「訪問」テーブルがあります。SQLに値をYまたはNとして表示する方法は?
SQLでバイナリ値を格納する最良の方法は、ビットデータ型(x)を使用していることがわかっていますが、char型のデータ型( "Y"または "より多くのスペース(x)を使用することのトレードオフで「N」になります。
元々、ビットデータ型を使用し、yesを1、noを0として保存する予定でしたが、この表示をPHPでYまたはNとする方法はわかりません。
現在、別のテーブルに、私は0または1として保存HIVや糖尿病の値を持っていると私は実行インナーNにYに1と0を関連する二つの別々のテーブルに私のSQLのSELECT文に参加
このテクニックを続けるなら、1にY、0をNに関連づけた数十のテーブルを作る必要があります。これは非効率的で非常に冗長なようです。
テーブルの複数の列を、1からY、0からNに関連する1つのテーブルに関連付ける方法はありますか?私はPHPmyadminを使用しています。
はい、同じ「ルックアップ」テーブルを参照するテーブルと同じ数のテーブルから多くの列を持つことができます。特別な構文は必要ありません。つまり、2つの値のルックアップテーブルの問題を徹底的に調べるのではなく、簡単な式でそのようなフィールドを選択することもできます。 'SELECT CASE someField WHEN 1 THEN 'Y' ELSE 'N' END as someFieldYN' – Uueerdo
また、おそらく私はBITタイプを気にしません。 TINYINTは、(もしあれば)それ以上のスペースを大幅に取らない可能性があり、作業するのがはるかに容易になるでしょう。 – Uueerdo
'echo $ row ['field']? 'Y': 'N'' ... – deceze