Ten SQL zwraca tylko pierwszy element Activity. Jak mogę je wszystkie wybrać? Jeśli usunę [1] z kwerendy, otrzymam błąd, że "wartość() wymaga pojedynczego".Uzyskiwanie wielu rekordów z kolumny xml z wartością() w SQL Server
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)')
Co się stanie, jeśli tag XML pojawi się wiele razy i chciałbym wybrać tyle razy, ile się pojawi? http://stackoverflow.com/questions/26426412/how-to-ensure-the-sql-isable-to-read-all-xml-tag-data – SearchForKnowledge
Co to jest T i co to jest C –
T to alias dla wyprowadzonej tabeli utworzonej przez funkcję węzłów. Ta funkcja węzłów zwraca fragment xml zawierający wszystkie wartości + wartości węzłów aktywności (i zwróciłby także wszystkie węzły i wartości potomne, gdyby były). C jest aliasem kolumny, w tym przypadku dzieli xml na węzły "Activity" w każdym wierszu tej kolumny. – Davos