2017-02-10 1 views
0

Ich arbeite an einer Desktop-Anwendung in C#. Ich bin sehr neu in SQL Server.Wie wird der Wert in der ersten oberen Zeile einer Tabelle in einer bestimmten Spalte mit SQL Server 2008 aktualisiert?

Zuerst möchte ich mich entschuldigen für die Frage, die ich Frage kann relevant für die Fragen zuvor zu diesem Thema gestellt, aber ich suchte im Internet und fand keine Antwort auf das Problem.

In meiner Datenbank befindet sich eine Tabelle mit dem Namen BillingTemp. Spalten sind

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

BillNo wiederholen können, da es mehrere Einträge in einer bestimmten Rechnung sind.

Jetzt auf eine Schaltfläche klicken, TotalAmt und type Werte in dieser Tabelle sollten nur in der ersten Zeile einer Tabelle gemäß meiner Logik im Code aktualisiert werden.

Wie kann ich das tun? Kann jemand Abfrage für dieses vorschlagen?

+1

Könnten Sie bitte die Logik im Code enthalten? Wenn nicht, müssen Sie in Ihren SQL-Skripten nach 'top' und' order by' suchen. – iamdave

+0

Ich muss diese Daten in eine andere Tabelle verschieben, und dann wäre diese Tabelle für einen neuen Rechnungseintrag leer. Wenn jede Zeile von TotalAmt in der Datentabelle betroffen ist, wird meine Berechnung für die Summe der TotalAmt-Spalte falsch verlaufen. –

+0

Ich bin nicht sicher, warum Sie nur die erste Zeile in der Tabelle aktualisieren müssen. Irgendwie versuchen LIMIT 1 zB: update BillNo gesetzt TotalAmt = 'Wert', type = 'Wert' Limit 1 – user3501749

Antwort

0

Versuchen Sie, diese

;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 
Verwandte Themen