Yes your solution is a good recommendation but i settled on using case like this:
SELECT A.[Batch ID], A.[Shelf Life Days]
, CASE A.[Lot Control]
WHEN 'Y' THEN [Shelf Life Days]
ELSE NULL
END [Lot Control],
CASE A.[Lot Control]
WHEN 'Y' THEN [Shelf Life Days]
ELSE NULL
END [Shelf Life Days]
from [EGP_SYSTEM_ITEMS_INTERFACE] as A
SELECT A.[Batch ID], A.[Shelf Life Days]
, CASE A.[Lot Control]
WHEN 'Y' THEN [Shelf Life Days]
ELSE NULL
END [Lot Control],
CASE A.[Lot Control]
WHEN 'Y' THEN [Shelf Life Days]
ELSE NULL
END [Shelf Life Days]
from [EGP_SYSTEM_ITEMS_INTERFAC
Please ignore the syntax differences.