2017-10-12 38 views
1

私はOPENJSONを使用してjsonデータをテーブルにインポートするSQLクエリを持っています。私の問題は、必要なデータがネストされていることです。 JSONパスでワイルドカードを使用するにはどうしたらよいですか?OpenJsonワイルドカードを使用

SELECT @Set = 
BulkColumn FROM OPENROWSET 
(BULK 'Sets.json', DATA_SOURCE = 'MyAzureJson', SINGLE_BLOB) JSON; 

INSERT INTO [Sets] 
SELECT [name] 
FROM OPENJSON(@Set) 
WITH(
    [name]  nvarchar(50) '$.*.name' 
) 

は私のJSONファイルが...このように設定されて

{ 
    "testOne" : { 
     name: "nameOne" 
    }, 
    "testTwo : { 
     name: "nameTwo" 
    } 
} 

エラー私は私がしようすべてを取得しています。..

JSONパスが正しくフォーマットされていません。予期せぬ文字「*」が位置2に見つかりました。

私は試しました。 * []と何も動作しません。

答えて

-1

試してみてください。アスタリスクは必要ありません。

+0

私は両方とも同じエラーを試しました –

+0

これは同じエラーではありません。元のエラーは、アスタリスクに言及しています: "JSONパスが正しくフォーマットされていません。位置2に予期しない文字 '*'が見つかりました。 – marss

関連する問題