こんにちは私はXMLを出力するためにデータベースを取得しようとしていますが、やや成功しています。私はキャストを使用するか、または変換するときにこれは、しかし、必要なXMLXML自動問題のためのSQLサーバー
を生成
for xml auto, root('MyRoot')
:私は様々で標準を選択します
は、電気ショック療法合流し、すべてが正常に動作し、私は次の行を追加します私のタグの中の1つを選択すると、その親に結合されてしまいます。なぜか、どうやってそれを修正するのか分かりません。他のすべては完璧です。以下は
は、私はそれがselect Tbl1.id,
'xyz ' as [randCol],
Tbl2.id,
Tbl2.name,
aDate as [date] --(aDate is the date field, date here is not data type, but a colum name for output)
from dbo.table1 as Tbl1
inner join dbo.table3 as Tbl3
on Tbl1.id = Tbl3.table1id
inner join table2 as Tbl2
on Tbl3.table2id = Tbl2.id
where Tbl1.id = 1
for xml auto, root('MyRoot')
だから、結果のXMLは次のようであるたいとXMLを出力コードです:
<MyRoot>
<Tbl1 id="1" randCol="xyz ">
<Tbl2 id="10001" name="John">
<Tbl3 date="2011-10-19T22:59:00" />
</Tbl2>
<Tbl2 id="10002" name="Brian">
<Tbl3 date="2011-10-19T22:59:00" />
</Tbl2>
<Tbl2 id="10003" name="Jimmy">
<Tbl3 date="2011-05-19T23:00:00" />
</Tbl2>
</Tbl1>
</MyRoot>
問題は、私は、日付として」ADATEを交換するとき"私のXMLが台無しになる日付を書式設定するために、次の行を付けてください。
CONVERT(date,aDate) as [date]
これは次の出力を発生します
この変化と私は日付を取得するために行うのですか、私はそれ望むようにフォーマットされ、のように別の行にそれを維持を起こしたものは<MyRoot>
<Tbl1 id="1" randCol="xyz ">
<Tbl2 id="10001" name="dave" date="2010-11-17" />
<Tbl2 id="10002" name="harry" date="2010-11-16" />
<Tbl2 id="10003" name="lenny" date="2010-06-15" />
</Tbl1>
</MyRoot>
最初の例。
EDIT2:以下、DBのERDが(私はERDの説明を取り出して、ちょうどERDを入れても、いくつかのサンプルデータである:。後は私のxmlにしたいデータセットです
id randCol id name date
1 xyz 10001 John 2011-10-19
1 xyz 10002 Brian 2011-10-19
1 xyz 10003 Jimmy 2011-05-19
選択*との完全なデータセットの実行には、次のように表示されます(参加する説明の目的のために)
id table1id table2id aDate id name
1 1 10001 2011-10-19 22:59:00 10001 John
1 1 10002 2011-10-19 22:59:00 10002 Brian
1 1 10003 2011-05-19 23:00:00 10003 Jimmy
は私がacheiveしようとしていることです。次の形式のXML出力。
<MyRoot>
<Tbl1 id="1" randCol="xyz ">
<Tbl2 id="10001" name="John">
<Tbl3 date="2011-10-19" />
</Tbl2>
<Tbl2 id="10002" name="Brian">
<Tbl3 date="2011-10-19" />
</Tbl2>
<Tbl2 id="10003" name="Jimmy">
<Tbl3 date="2011-05-19" />
</Tbl2>
</Tbl1>
</MyRoot>
は、しかし、私はExplisitを使用せずにこれをacheiveする必要があるので、私は生、自動またはパスを使用して、そしてprametersのどのような組み合わせですべきかどうかを知る必要があります。
問題を引き起こしている全体的なクエリを表示できますか?日付、日付、日付はどのようなものですか? –
aDateは実際にTbl3で定義されていますか? –