2017-02-10 5 views
0

私はC#のデスクトップアプリケーションで作業しています。私はSQL Serverの新機能です。SQL Server 2008を使用して特定の列のテーブルの最上位行の値のみを更新する方法はありますか?

まず、このトピックについて先に質問された質問には謝っていますが、インターネットで検索しても問題の答えは見つかりませんでした。

データベースにBillingTempという名前のテーブルがあります。列は、特定の法案に複数のエントリがあるよう

Bill No, Package, Type, DiscPer, TotalAmt, BillDate, TaxAmt 

BillNoは繰り返すことです。

ボタンのクリックで、この表のTotalAmttypeの値は、コードの論理に従って表の最初の行にのみ更新する必要があります。

どうすればいいですか?誰もこれのためのクエリを提案することはできますか?

+1

を試してみてください?そうでなければ、SQLスクリプトで 'top'と' order by'を使って調べる必要があります。 – iamdave

+0

このデータを別のテーブルに移動する必要があり、このテーブルは新しい請求書入力のために空白になります。データテーブル内のTotalAmtのすべての行が影響を受けている場合、TotalAmt列の合計の計算が間違って行われます。 –

+0

なぜ私はテーブルの第1行だけを更新する必要があるのか​​分かりません。いずれにしても、LIMIT 1を試してみてください。BillNo set TotalAmt = 'value'、type = 'value' Limit 1 – user3501749

答えて

0

はあなたのコードのロジックを含めてもらえこの

;WITH TOP1 AS 
( 
SELECT TOP 1 * 
FROM TABLE 
WHERE BillNo = @BillNo 
ORDER BY ID -- I assume you always want to update the record created first 
) 
UPDATE TOP1 SET TotalAmt [email protected] , type = @type 
関連する問題