私は、SQLクエリのために、Microsoftの認定を準備していたと私は、この例が見つかりました:T-SQL "受注コード%2 = 0" %に何をするか
WITH XMLNAMESPACES('TK461-CustomersOrders' AS co)
SELECT [co:Customer].custid AS [co:custid],
[co:Customer].companyname AS [co:companyname],
[co:Order].orderid AS [co:orderid],
[co:Order].orderdate AS [co:orderdate]
FROM Sales.Customers AS [co:Customer]
INNER JOIN Sales.Orders AS [co:Order]
ON [co:Customer].custid = [co:Order].custid
WHERE [co:Customer].custid <= 2
AND [co:Order].orderid %2 = 0
ORDER BY [co:Customer].custid, [co:Order].orderid
FOR XML AUTO, ELEMENTS, ROOT('CustomersOrders');
そしてこの説明: T-SQLテーブルをクエリーの列エイリアスを使用して名前空間がプレフィックスされた要素名を生成します。ネームスペースと要素名を区切るために、XMLではコロンが使用されます。 クエリのWHERE句は2人の顧客に出力を制限し、各顧客の2番目の注文のみがを取得します。出力は、要素中心のXML文書です。
説明書には、顧客ごとに2回ごとに注文があると表示されていても、それをしていないようです。 custid < = 2の場合でも、最初の2人の顧客は$ 2 = 0の内容がわからないので、各顧客の2番目の注文をすべて(または少なくとも私の理解に)反映させることはできません。最初の顧客には3つの注文があり、2つ目の顧客には2つの注文があります。 これらは、すべての注文は:
custid companyname orderdate
1 Customer NRZBB 10643
1 Customer NRZBB 10692
1 Customer NRZBB 10702
1 Customer NRZBB 10835
1 Customer NRZBB 10952
1 Customer NRZBB 11011
2 Customer MLTDN 10308
2 Customer MLTDN 10625
2 Customer MLTDN 10759
2 Customer MLTDN 10926
、これは、クエリの結果である(xml句なし) お客様IDの仕入先名受注日
1 Customer NRZBB 10692
1 Customer NRZBB 10702
1 Customer NRZBB 10952
2 Customer MLTDN 10308
2 Customer MLTDN 10926
誰かが私にこの場所でどのように%の作品を説明してもらえ句? 私は多くの場所で試してみましたが、それは常に類似の演算子に%を関連づけています、そして、私はそうではないと思います。
[MSDN](https://msdn.microsoft.com)で開始し、検索ボックスに 'sql server%'と入力した場合は、 'sql server%operator'が表示されます。顧客ごとに2番目おきの注文を返す場合、顧客ごとに「OrderId」の値が密であることが前提です。それは問題の声明で保証されていますか? – HABO
%のようなものを検索するのは難しいです。 SQL演算子で検索します。 – Paparazzi
@HABOその検索を試しましたか? – Paparazzi