Kannst Du denn nicht einfach ein subselect machen, in der die konvertierten Werte stehen und dann einfach eine Pivot-Tabelle?
Basistabelle:
SQL-Code:
select CONVERT(FLOAT, ALL_AvailableStock) as AvailableStock,
CONVERT(Float, REPLACE(ALL_StockCoverage1_FreeAvailable, ',', '.')) as FreeAvailable,
ALL_PLC
from [inventory].[dbo].[inventory.inv_all]
Klassierungstabelle:
SQL-Code:
select case
when FreeAvailable between 77.4 amd 154.8 then 3
when FreeAvailable between 154.8 amd 309.6 then 6
when FreeAvailable > 309.6 then 12
else null
end as DoH,
case
when FreeAvailable>154.8 and AvailableStock > 200 then 1
else null
end as Highstock,
AvailableStock,
FreeAvailable,
ALL_PLC
from (das-Select-von-eben) X
Fertige Tabelle:
(Zu faul)
Und darum dann deine Summierung, Gruppierung etc.
Das wäre viel übersichtlicher.
(Select CASE WHEN SUM(CONVERT(FLOAT, ALL_AvailableStock)) IS NULL THEN 0 ELSE SUM(CONVERT(FLOAT, ALL_AvailableStock)) as ALL_AvailableStock From [inventory].[dbo].[inventory.inv_all]
Dafür ist COALESCE gedacht:
(Select Coalesce (SUM(CONVERT(FLOAT, ALL_AvailableStock)),0)...