私は2つの属性列とjson列を持つ製品テーブルを持っています。私はjson列を区切り、余分な行を挿入して属性を保持できるようにしたいと考えています。私はOPENJSON行にJSONオブジェクトに変換することができます理解し、細胞内へのキー値が、私はそれがJSONデータを含む単一の列にどのように適用されますOPENJSONを単一の列に適用する
ID Name Attributes
1 Nikon {"4e7a":["jpg","bmp","nef"],"604e":["en"]}
2 Canon {"4e7a":["jpg","bmp"],"604e":["en","jp","de"]}
3 Olympus {"902c":["yes"], "4e7a":["jpg","bmp"]}
:のようなサンプルデータが見えますか?
私の目標は次のように出力させることです。
ID Name key value
1 Nikon 902c NULL
1 Nikon 4e7a ["jpg","bmp","nef"]
1 Nikon 604e ["en"]
2 Canon 902c NULL
2 Canon 4e7a ["jpg","bmp"]
2 Canon 604e ["en","jp","de"]
3 Olympus 902c ["yes"]
3 Olympus 4e7a ["jpg","bmp"]
3 Olympus 604e NULL
は、私は次のように、この製品のテーブルを照会することができる方法はありますか?または、目標データセットを再現する方法はありますか?
SELECT
ID,
Name,
OPENJSON(Attributes)
FROM products
ありがとう!
Hey R.Richards、 これは素晴らしいです。私はNULLを使用せずにこれをスイングすることができるかもしれませんが、できない場合は、存在しないかどうかを確認して別の行を挿入してください。 ありがとうございました! – onji