1

ユーザーがフィールドを持つテストデータを入力する必要があります。

 Blood   Pulse 
 ----    -----
 12      13

テストの目的がわからない別のフィールドを追加する必要があります。私はMisc1Label、Misc1Valueというフィールドを持つことを考えていました

Misc1Labelが Oral で、Misc1Valueが 88であるとします。

後で、Misc1Label の値を取得する必要がある場合は Pivot を使用し、Pivo​​t を使用して次のようなものを作成できます。

 Blood  Pulse  Oral
 -----  ----   ----
   12    13     88

これを処理するための他のベストプラクティスがあるかどうかを考えていました。

前もって感謝します

4

1 に答える 1

1

Blood と Pulse を別々のフィールドとして保持する必要がありますか? Blood と Pulse を別の属性と見なすこともできます。このようなものが機能し、PIVOT コマンドを使用しなくても簡単にクエリを実行できるように思えます。

PersonAttribute
    PersonId int (I'm only presuming here)
    AttributeId int

Attribute
    AttributeId int
    AttributeTypeId int
    AttibuteValue varchar(100)

AttributeType
    AttributeTypeId int
    AttributeType varchar(100)

次に、Blood、Pulse、Weight などを AttributeType テーブルに格納し、PersonAttribute テーブルをメイン テーブルとの 1-N アプローチとして使用できます。ちょっとした考え。

SELECT Distinct PA.PersonId
FROM PersonAttribute PA
   INNER JOIN Attribute A ON PA.AttributeId = A.AttributeId 
   INNER JOIN AttributeType AT ON A.AttributeTypeId = AT.AttributeTypeId 
WHERE AT.AttributeType = 'Blood'

もちろん、必要に応じてメイン テーブルに Blood と Pulse を残したまま、同じモデルを適用することもできます。

幸運を。

于 2013-02-07T19:35:33.340 に答える