データベースに挿入したい次のxmlがあります
<latestjourneys>
<journey>
<startLocation>London</startLocation>
<endLocation>manchester</endLocation>
<leavingDay>
<mon>Yes</mon>
<tue>No</tue>
</leavingday>
<journey>
<journey>
<startLocation>Liverpool</startLocation>
<endLocation>Cardiff</endLocation>
<leavingDay>
<mon>Yes</mon>
<tue>No</tue>
</leavingday>
<journey>
</latestjourneys>
次のSQLを使用しています
INSERT INTO test (startLocation,endLocation,mon,tue)
SELECT
X.product.query('startLocation').value('.', 'VARCHAR(255)'),
X.product.query('endLocation').value('.', 'VARCHAR(255)'),
X.product.query('Mon').value('.', 'VARCHAR(255)'),
X.product.query('Tue').value('.', 'VARCHAR(255)')
FROM (
SELECT CAST(x AS XML)
FROM OPENROWSET(
BULK '#fileLocation#',
SINGLE_BLOB) AS T(x)
) AS T(x)
CROSS APPLY x.nodes('latestjourneys/journey') AS X(product)
このコードを使用すると、startLocation と endLocation のみが挿入されます。CROSS APPLY を
CROSS APPLY x.nodes('latestjourneys/journey/leavingDay') AS X(product)
日だけが挿入されます。
両方のデータを挿入する方法はありますか?