私は2つの値を持つテーブルを持っています:MACとID。T-SQL特定のインデックスで最小値と最大値の間で値を見つける
1つのIDは複数のMACを持つことができます。たとえば、次のように
:私の最終目標は、次のようにMACのスプリットを持つことである:
私はIDの数をカウントする列数を、追加しました
私は、ケース・ステートメントを使用して正しい道にいると思う:
select count, ID,
MAC1 = case
when count >0 then min(MAC) end,
MAC2 = case
when count = 2 then max(MAC) end,
MAC3 = case
when count = 3 then max(MAC) end,
MAC4 = case
when count = 4 then max(MAC) end from MACTABLE
しかし、それは明らかにこのような結果、私に与える:
だから私の質問はこれです:カウントが2つ以上ある場合はどうすればMAC2、MAC3、などを得るのですか?選択したインデックスタイプの関数はありますか?私はこれを考えすぎているのだろうか? MACは特定の順序である必要はありませんが、これは私がこれを行うと考えることができる最良の方法です。どんな助けもありがとうございます。 MAC_Nにそれを拡大するための
が、私は最大カウントを取得し、その数オフに基づいてピボットを使用して列を作成したいです。 – scsimon
@scsimon、私はピボットのことを聞いたことがあるが、これまでに一度も使ったことはない。もう少し説明できますか? – Nick
SOのピボットとダイナミックピボットに関する多くの例がありますが、ここでは開始するために列名を取得する方法の例がありますhttp://rextester.com/NJOQ46585 – scsimon