【发布时间】:2017-08-16 01:17:09
【问题描述】:
我的 SQL 表中有以下 XML:
<SiteSurveyData>
<SurveyQuestionAnswers>
<QuestionGUID>61</QuestionGUID>
<Answer>XXXXXXX</Answer>
</SurveyQuestionAnswers>
<SurveyQuestionAnswers>
<QuestionGUID>62</QuestionGUID>
<Answer>XXX</Answer>
</SurveyQuestionAnswers>
<SurveyQuestionAnswers>
<QuestionGUID>64</QuestionGUID>
<Answer>Both</Answer>
</SurveyQuestionAnswers>
<SurveyQuestionAnswers>
<QuestionGUID>63</QuestionGUID>
<Answer>aal5snap</Answer>
</SurveyQuestionAnswers>
<SurveyQuestionAnswers>
<QuestionGUID>81</QuestionGUID>
<Answer>00</Answer>
</SurveyQuestionAnswers>
我想要查询的是 /Answer 中 /QuestionGUID = 61 和 62 的值。
我试过用这个:
value('(/SiteSurveyData/SurveyQuestionAnswers/QuestionGUID)[1]'
但它只返回第一个 QuestionGUID。
如何编写查询以返回 QuestionGUID 61 和 62 的答案?
或者我只想得到 QuestionGuid = 61 的 /Answer。
它并不总是第一个元素,是否可以编写查询使其返回 QuestionGuid=61 的值?
【问题讨论】:
-
您可能需要使用光标。这是一个示例stackoverflow.com/questions/19034382/…
-
如果我只想返回所有带有 Question = 61 的问题怎么办?它不一定总是第一个。
标签: sql-server xml