0
私はそうのようなXMLノードとして列の値を取得しようとしています:SQLバリュー
FOR XML PATH(V_CONSTAT_ACTUAL_DATES.JOB_NUMBER), Type
が、私はこのエラーを取得:
Incorrect syntax near 'V_CONSTAT_ACTUAL_DATES'. Expecting STRING or TEXT_LEN
は、私がしようとしていますものです不可能なことを達成するために?ここで
は、完全なSQLクエリです:
SELECT
(
SELECT V_CONSTAT_ACTUAL_DATES.JOB_NUMBER AS 'Key',
(
SELECT
(
SELECT
(
SELECT
(
SELECT
CONVERT(date, V_CONSTAT_ACTUAL_DATES.ID120) AS 'actualFinish',
CONVERT(date, V_CONSTAT_BASE_DATES.ID120) AS 'baseLineStart'
FOR XML PATH(''), Type
)
FOR XML PATH('baseStartFinishList'), Type
)
FOR XML PATH(''), Type
),
(
SELECT CONVERT(date, V_CONSTAT_ACTUAL_DATES.DATE_TO_END) AS 'closingDate'
FOR XML PATH(''), Type
),
(
SELECT DATEDIFF(dd,V_CONSTAT_BASE_DATES.ID67,V_CONSTAT_ACTUAL_DATES.DATE_TO_END)-1 AS 'DaysOfConstruction'
FOR XML PATH(''), Type
),
(
SELECT DATEDIFF(dd,GETDATE(),V_CONSTAT_ACTUAL_DATES.DATE_TO_END) AS 'DaysToClosing'
FOR XML PATH(''), Type
),
(
SELECT
IsNull(V_CONSTAT_ACTUAL_DATES.IDNOTES2, ' ') AS 'notes'
FOR XML PATH(''), Type
),
(
SELECT DATEDIFF(dd,V_CONSTAT_BASE_DATES.ID187,V_CONSTAT_PROJ_DATES.ID187) AS 'ScheduleVariance'
FOR XML PATH(''), Type
)
FOR XML PATH('V_CONSTAT_PROJ_DATES.JOB_NUMBER'), Type
)
FOR XML PATH('KeyValue'), Type
)
FROM
((V_CONSTAT_PROJ_DATES V_CONSTAT_PROJ_DATES INNER JOIN V_CONSTAT_ACTUAL_DATES V_CONSTAT_ACTUAL_DATES
ON
V_CONSTAT_PROJ_DATES.JOB_NUMBER=V_CONSTAT_ACTUAL_DATES.JOB_NUMBER)
INNER JOIN
V_CONSTAT_BASE_DATES V_CONSTAT_BASE_DATES
ON
(V_CONSTAT_ACTUAL_DATES.JOB_NUMBER=V_CONSTAT_BASE_DATES.JOB_NUMBER) AND (V_CONSTAT_PROJ_DATES.JOB_NUMBER=V_CONSTAT_BASE_DATES.JOB_NUMBER))
INNER JOIN
V_CONSTAT_SCH_DATES V_CONSTAT_SCH_DATES
ON
((V_CONSTAT_BASE_DATES.JOB_NUMBER=V_CONSTAT_SCH_DATES.JOB_NUMBER) AND (V_CONSTAT_PROJ_DATES.JOB_NUMBER=V_CONSTAT_SCH_DATES.JOB_NUMBER))
AND (V_CONSTAT_ACTUAL_DATES.JOB_NUMBER=V_CONSTAT_SCH_DATES.JOB_NUMBER)
WHERE V_CONSTAT_ACTUAL_DATES.AREA_DESC = 'Fairgrounds Phase 5' AND V_CONSTAT_ACTUAL_DATES.DATE_TO_END>=GETDATE()
ORDER BY V_CONSTAT_ACTUAL_DATES.DATE_TO_END
FOR XML PATH(''), ROOT('Root')
私はここで、ノード名として
をJOB_NUMBERの列の値を取得しようとしています私の現在のXMLの例です:
<KeyValue>
<Key>FA50104</Key>
<V_CONSTAT_PROJ_DATES.JOB_NUMBER>
<baseStartFinishList>
<baseLineStart>2016-06-06</baseLineStart>
</baseStartFinishList>
<closingDate>2016-05-26</closingDate>
<DaysOfConstruction>237</DaysOfConstruction>
<DaysToClosing>1</DaysToClosing>
<notes> </notes>
<ScheduleVariance>0</ScheduleVariance>
</V_CONSTAT_PROJ_DATES.JOB_NUMBER>
</KeyValue>
私がしようとしているのは、V_CONSTAT_PROJ_DATES.JOB_NUMBERをキー値(FA50104)とします。
ポスト全体のXMLパスのコード – TheGameiswar
( 'V_CONSTAT_ACTUAL_DATES.JOB_NUMBER')、タイプ –
(PATH '内部値)'リテラル**文字列である必要があります** - あなたはを参照することはできません名前で変数または列。その文字列リテラルは、XML出力の各行の最も外側のXMLノードの** name **を定義します。 –