powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по выборке t-sql x-query
3 сообщений из 3, страница 1 из 1
Вопрос по выборке t-sql x-query
    #39745806
seg856
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерная структура xml-документа:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
<ZL_LIST><SCHET>
			<CODE>
			<CODE_MO>
			<YEAR>
			<MONTH>
			<NSCHET>
			<DSCHET>
			<SUMMAV>
			<COMENTS>
		</schet>
		<ZAP>
			<N_ZAP>
			<PR_NOV>
			<PACIENT>
				<ID_PAC>
				<VPOLIS>
				<NPOLIS>
				<ST_OKATO>
				<SMO>
				<SMO_OGRN>
				<SMO_OK>
				<SMO_NAM>
				<NOVOR>
			<Z_SL>
				<IDCASE>
				<USL_OK>
				<VIDPOM>
				<FOR_POM>
				<LPU>
				<DATE_Z_1>
				<DATE_Z_2>

				<SL>
					<SL_ID>

					<NHISTORY>
					<DATE_1>
					<DATE_2>

					<USL>
						<IDSERV>
						<LPU>
						<DATE_IN>
						<DATE_OUT>
						<DS>
						<CODE_USL>
						<KOL_USL>
						<CODE_MD>
					</usl>
					<COMENTSL>
				</sl>
				<IDSP>
				<SUMV>
			</z_sl>
		</zap>



На один объект SL у нас много объектов USL.
Чтобы выбрать объекты USL, делаю запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT 
col.x.query('DATE_IN').value('DATE_IN[1]','DATE') as DATE_IN,
col.x.query('DATE_OUT').value('DATE_OUT[1]','DATE') as DATE_OUT,
col.x.query('DS').value('DS[1]','VARCHAR(10)') as DS,
col.x.query('CODE_USL').value('CODE_USL[1]','VARCHAR(20)') as CODE_USL,

FROM prob A
CROSS APPLY A.Data.nodes('/ZL_LIST/ZAP/Z_SL/SL/USL') col(x)



Вопрос: как выбрать в том же запросе также поля, относящиеся к объекту SL (то есть родительские узлы), например NHISTORY, DATE_1?
...
Рейтинг: 0 / 0
Вопрос по выборке t-sql x-query
    #39745812
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT 
col.x.value('DATE_IN[1]','DATE') as DATE_IN,
col.x.value('DATE_OUT[1]','DATE') as DATE_OUT,
...
col.x.value('../SL_ID[1]','int') as DATE_IN,
FROM prob A
CROSS APPLY A.Data.nodes('/ZL_LIST/ZAP/Z_SL/SL/USL') col(x)
...
Рейтинг: 0 / 0
Вопрос по выборке t-sql x-query
    #39755502
seg856
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm, а как получить поле <NPOLIS>? Ведь PATIENT на одном уровне с Z_SL.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по выборке t-sql x-query
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]