Ich kann eine Tabelle deaktivieren, aber Null-Werte sind nicht im Ergebnis enthalten.Handle NULL-Wert in UNPIVOT
create table pivot_task
(
age int null,
[a] numeric(8,2),
[b] numeric(8,2),
[c] numeric(8,2),
[d] numeric(8,2),
[e] numeric(8,2)
);
select * from pivot_task;
insert into pivot_task values (18, 0.5, null, 0.6, 1.21, 1.52),
(19, 7.51, 6.51, 5.51, null, 3.53),
(20, 4.52, 4.52, 6.52, 3.53, null);
select age, [over], [av]
from pivot_task
unpivot
(
[av]
for [over] in ([a], [b], [c], [d], [e])
) a;
können Sie sehen das Ergebnis auf http://sqlfiddle.com/#!6/2ab59/1 18 Jahren [über] b und seiner Null-Wert fehlt ich null als auch für jede Null Begegnung aufnehmen möchten.
Ich fand, Null mit anderen Wert zu ersetzen und dann alle diese Konstanten unterschiedlichen Wert Ansatz ersetzen ist nicht machbar für meine Arbeit. Ich möchte nur in Unpivot aufnehmen.
'Für 18 Jahre [über]'? Enthält dies besonders grafische oder gewalttätige SQL? – Paul
@Westie Sagen Sie in pivot_task Tabelle Null-Wert durch andere ersetzen, dann pivot, aber ich kann die Quellentabelle pivot_task nicht ändern. –
Wenn Ihr numerischer Wert in den angegebenen Bereich gehört (sagt nicht-negativ), können Sie dieses Problem umgehen. +1 für wohlgeformte Frage. –