2012-12-07 12 views
5

ich eine Tabelle in meiner SQL Server-Datenbank, die wie folgt aussieht:Hinzufügen Zeile mit Nullfeld zu einer anderen Zeile

Datum     Stunden     Namen
11-01         ein
11-01           b
11-01         null
12-01         a
12-01         c
12-01         null

Ich möchte hinzufügen die Stunden von der Spalte "Null" in die Spalte "a" für jeden Monat. So würde es wie folgt aussehen: Datum     Stunden     Namen
11-01         ein
11-01         b
12-01         a
12-01         c

Der einzige Weg, ich war zur Arbeit konnte erhalten, indem die Tabelle der Auswahl vor Modifizieren der Null nicht angezeigt werden, zu verhindern. Aber ich wäre in der Lage, dies zu tun, ohne die Datenbank zu ändern.

Was wäre der beste Weg, dies zu tun?

Dank

+0

+1 für klare, präzise Frage. Viele neue Benutzer schreiben ausführliche Absätze irrelevanter Informationen. Weiter so: – Jono

+0

Bitte klarstellen: Ihre gewünschten Ergebnisse zeigen 9 für 'a', wenn es scheinbar 10 pro Logik erzeugt, nach der Sie zu fragen scheinen. Ist das eine Fehlkalkulation, oder verstehe ich nicht, wonach Sie fragen? –

Antwort

3

Dies es für Sie tun wird - Gruppierung nach Namen oder ‚a‘ (wenn Name ist null) bedingt, und die Summe der Stunden von dort nehmen.

SELECT Date, SUM(Hours) AS Hours, MAX(Name) AS Name 
FROM TableName 
GROUP BY (CASE WHEN Name IS NULL THEN 'a' ELSE Name END) 
Verwandte Themen