Penso che tu intenda che se il stock > 1000
poi un altro colore not green
.
SELECT Beer.Beer,
Beer.Brewery,
Beer.Style,
Beer.ABV,
Beer.Hops,
Beer.SRM,
Sum(BeerStock.Quantity) totalQuantity,
CASE WHEN Sum(BeerStock.Quantity) < 0 THEN ''
WHEN Sum(BeerStock.Quantity) BETWEEN 0 AND 999 THEN 'Red'
WHEN Sum(BeerStock.Quantity) BETWEEN 1000 AND 4999 THEN 'Yellow'
WHEN Sum(BeerStock.Quantity) BETWEEN 5000 AND 9999 THEN 'GREEN'
WHEN Sum(BeerStock.Quantity) >= 10000 THEN 'Another Color'
END
FROM Beer
INNER JOIN BeerStock
ON Beer.Beer = BeerStock.Beer
-- Where ..other conditions..
ma se davvero intendi questo,
SELECT Beer.Beer,
Beer.Brewery,
Beer.Style,
Beer.ABV,
Beer.Hops,
Beer.SRM,
Sum(BeerStock.Quantity) totalQuantity,
CASE WHEN Sum(BeerStock.Quantity) < 0 THEN ''
WHEN Sum(BeerStock.Quantity) BETWEEN 0 AND 999 THEN 'Red'
WHEN Sum(BeerStock.Quantity) BETWEEN 1000 AND 4999 THEN 'Yellow'
WHEN Sum(BeerStock.Quantity) >= 5000 THEN 'GREEN'
END
FROM Beer
INNER JOIN BeerStock
ON Beer.Beer = BeerStock.Beer
-- Where ..other conditions..
Un'altra cosa, devi anche usare GROUP BY
clausola, altrimenti restituirai un solo record anche se hai record diversi,
SELECT Beer.Beer,
Beer.Brewery,
Beer.Style,
Beer.ABV,
Beer.Hops,
Beer.SRM,
Sum(BeerStock.Quantity) totalQuantity,
CASE WHEN Sum(BeerStock.Quantity) < 0 THEN ''
WHEN Sum(BeerStock.Quantity) BETWEEN 0 AND 999 THEN 'Red'
WHEN Sum(BeerStock.Quantity) BETWEEN 1000 AND 4999 THEN 'Yellow'
WHEN Sum(BeerStock.Quantity) BETWEEN 5000 AND 9999 THEN 'GREEN'
WHEN Sum(BeerStock.Quantity) >= 10000 THEN 'Another Color'
END
FROM Beer
INNER JOIN BeerStock
ON Beer.Beer = BeerStock.Beer
-- Where ..other conditions..
GROUP BY Beer.Beer,
Beer.Brewery,
Beer.Style,
Beer.ABV,
Beer.Hops,
Beer.SRM