私は、ビューにしたいと思っているぎこちないデータセットを持っています。これを処理するストアドプロシージャを作成しましたが、私が意図したようにCrystal Reports内で使用することはできません。特定のデータの位置を見つけて新しい値を割り当てます。
ここに、問題のデータセットの例を示します。私が何をしたいか
SalesOrder Item Qty Comment SalesOrderLineNo
12345 4321 1 1
12345 4322 3 2
12345 4312 5 3
12345 4
12345 5
12345 -----Payment Info----- 9
12345 Payment: $100 10
12345 Invoiced: $90 11
12345 Date 10-12-16 12
12345 13
12346 4344 1 1
12346 4376 3 2
12346 4329 5 3
12346 4567 1 4
12346 5
12346 6
12346 Free Freight 7
12346 8
12346 -----Deposit Info----- 9
12346 Deposit: $400 10
12346 Remaining: $190 11
12346 Date 10-10-16 12
12348 4390 1 1
12348 Credit Card on File 2
12348 Call Bill on Delivery 3
12348 ----Shipping Notes---- 4
12348 Address 5
12348 14356 21st ST 6
12348 City, State Zip 7
はどちらか「-----入金情報-----」または「-----支払い情報のテキストが含まれているSalesOrderLineNo
を見つけるクエリを記述で----- "と値を割り当てます。私が非表示にする必要があるデータは、SalesOrderLineNo
で始まり、SalesOrderLineNo + 3
で終わります。つまり、常に4 Comment
行が隠れている必要があります。それは変わるべきではありません。
ここでは、完璧に動作する単一の受注用に作成したprocを示します。私はそれが必要なすべての行を隠します。残念ながら
CREATE PROC [dbo].[uspS_SRS_RemovePaymentDetailsBOL] @SalesOrder INT
AS
DECLARE
@Start AS INT
SET @Start = (SELECT SalesOrderLineNo
FROM SorDetail
WHERE SalesOrder = @SalesOrder
AND Comment = '-----Payment Info-----')
SELECT SalesOrder
, Comment
, Item
, Qty
, SalesOrderLineNo
FROM SalesOrderDetail
WHERE CAST(SalesOrder AS INT) = @SalesOrder
AND SalesOrderLine NOT BETWEEN @Start AND @Start + 3
AND NComment != ''
ここで私は立ち往生しています。 SalesOrderLineNo
が決して一貫しないことを知っている "-----支払い情報-----"と "----- Deposit Info -----"の特定のコメント行に1の値を割り当てる方法または同じ各販売注文については、以下のデータの例を参照してください
SalesOrder Item Qty Comment SalesOrderLineNo NewAssignedValue
12345 4321 1 1 0
12345 4322 3 2 0
12345 4312 5 3 0
12345 4 0
12345 5 0
12345 -----Payment Info----- 9 1
12345 Payment: $100 10 1
12345 Invoiced: $90 11 1
12345 Date 10-12-16 12 1
12345 13 0
12346 4344 1 1 0
12346 4376 3 2 0
12346 4329 5 3 0
12346 4567 1 4 0
12346 5 0
12346 6 0
12346 Free Freight 7 0
12346 8 0
12346 -----Deposit Info----- 9 1
12346 Deposit: $400 10 1
12346 Remaining: $190 11 1
12346 Date 10-10-16 12 1
12348 4390 1 1 0
12348 Credit Card on File 2 0
12348 Call Bill on Delivery 3 0
12348 ----Shipping Notes---- 4 0
12348 Address 5 0
12348 14356 21st ST 6 0
12348 City, State Zip 7 0
EDIT:?。私はデータに詳細を追加しましたが
を返しますを設定し、ジョン、感謝するeソリューション。私は最初の質問で何かを逃したかもしれない。私はあなたの解決策を働かせないかもしれないいくつかの新しい情報を加えました。私はテストして確認します – jdidsQAA
また、私の質問の私の最初のデータセットは誤解を招いていました。私はコメントにフラグを立てようとしていません、私はデポストと支払いに関する情報を含む行番号に値を割り当てようとしています。ランダムな領域に他のコメントがあります – jdidsQAA
@jdidsQAA更新された回答 –