このSQLは、最初のアクティビティ要素のみを返します。それらをすべて選択するにはどうすればいいですか?クエリで[1]を削除すると、 "value()にシングルトンが必要"というエラーが表示されます。SQL Serverのvalue()を使用してxml列から複数のレコードを取得する
DECLARE @myDoc xml
SET @myDoc =
'<Root>
<Activities>
<Activity>This is activity one</Activity>
<Activity>This is activity two</Activity>
<Activity>This is activity three</Activity>
</Activities>
</Root>'
SELECT @myDoc.value('(/Root/Activities/Activity)[1]', 'varchar(100)')
XMLタグが複数回表示され、表示される回数を何回選択したいのですか? http://stackoverflow.com/questions/26426412/how-to-ensure-the-sql-isable-the-sql-is-able-to-read-all-xml-tag-data – SearchForKnowledge
Tとは何かCは何ですか –
Tはエイリアスですnodes関数によって作成された派生テーブルの場合そのノード関数は、すべてのアクティビティノード名+値を含むXMLの一部を返します(もしあれば、任意の子ノードと値も返します)。 Cは列エイリアスです。この場合、xmlはその列の各行の 'Activity'ノードに分割されます。 – Davos