XQuery aber wie ?

29/10/2008 - 15:10 von Peter Treier | Report spam
Hallo Zusammen

ich möchte XQuery anwenden, stolpere aber schon früh...

Ich habe folgende DB

CREATE TABLE [dbo].[Orders](
[OrderID] [int] NOT NULL,
[OrderDate] [datetime] NULL,
[OrderNumber] [nvarchar](25) NULL,
[CustomerID] [int] NULL,
[OrderDetails] [xml] NULL,

Mit diesen Daten¨

INSERT INTO Orders (OrderID, OrderDate, OrderNumber, CustomerID,
OrderDetails) VALUES (43659, '2001-07-01 00:00:00.000', 'SO43659', 676,
N'<Root>
<OrderDetail l OrderDetailID="1" OrderID="43659" Quantity="1" ProductID="776"
UnitPrice="2024.9940" /> <OrderDetail OrderDetailID="2" OrderID="43659"
Quantity="3" ProductID="777" UnitPrice="2024.9940" /> <OrderDetail
OrderDetailID="3" OrderID="43659" Quantity="1" ProductID="778"
UnitPrice="2024.9940" /> </Root>')

Nun Suche ich das passende XQuery um die Daten so abzufragen

ProductID UnitPrice
-
776 2024.9940
777 2024.9940
778 2024.9940

Wie mach ich das ???

Danke für ein Beispiel und Eure Zeit

Peter Treier
 

Lesen sie die antworten

#1 Peter Doering
29/10/2008 - 16:32 | Warnen spam
Hallo,

Peter Treier wrote:

ich möchte XQuery anwenden, stolpere aber schon früh...

Ich habe folgende DB

CREATE TABLE [dbo].[Orders](
[OrderID] [int] NOT NULL,
[OrderDate] [datetime] NULL,
[OrderNumber] [nvarchar](25) NULL,
[CustomerID] [int] NULL,
[OrderDetails] [xml] NULL,

Mit diesen Datenš

INSERT INTO Orders (OrderID, OrderDate, OrderNumber, CustomerID,
OrderDetails) VALUES (43659, '2001-07-01 00:00:00.000', 'SO43659', 676,
N'<Root>
<OrderDetail l OrderDetailID="1" OrderID="43659" Quantity="1" ProductID="776"
UnitPrice="2024.9940" /> <OrderDetail OrderDetailID="2" OrderID="43659"
Quantity="3" ProductID="777" UnitPrice="2024.9940" /> <OrderDetail
OrderDetailID="3" OrderID="43659" Quantity="1" ProductID="778"
UnitPrice="2024.9940" /> </Root>')

Nun Suche ich das passende XQuery um die Daten so abzufragen

ProductID UnitPrice
-
776 2024.9940
777 2024.9940
778 2024.9940

Wie mach ich das ???



Z.B. so:

osql -S ServerName -E -q "SELECT ProductID, UnitPrice FROM ORDERS"

Wenn Trusted_Connection nicht erlaubt ist, verwende statt -E die Variante:
-U UserID -P secret

Gruss - Peter

Ähnliche fragen