Hi,
try this:
SELECT T0.[DocNum], T0.[DocDate], T0.[CardCode], T0.[CardName], T1.[LineNum], T1.[ItemCode],
T1.[Dscription], T1.[Quantity], T1.[U_EXT], T1.[U_EXT1], T1.[U_boxtype], T1.[U_Sleeved], T1.[U_BoxNumbers]
FROM ODLN T0 INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.[DocNum] = '8'
AND (T1.LineNum = 1 OR T1.LineNum IN (select SUBSTRING(',' + T1.[U_BoxNumbers] + ',', Number + 1,
CHARINDEX(',', ',' + T1.[U_BoxNumbers] + ',', Number + 1) - Number -1)
FROM master.dbo.spt_values
WHERE Type = 'P'
AND Number <= LEN(',' + T1.[U_BoxNumbers] + ',') - 1
AND SUBSTRING(',' + T1.[U_BoxNumbers] + ',', Number, 1) = ','))1
union all
SELECT T0.[DocNum], T0.[DocDate], T0.[CardCode], T0.[CardName], T1.[LineNum], T1.[ItemCode],
T1.[Dscription], T1.[Quantity], T1.[U_EXT], T1.[U_EXT1], T1.[U_boxtype], T1.[U_Sleeved], T1.[U_BoxNumbers]
FROM ODLN T0 INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.[DocNum] = '8'
AND (T1.LineNum = 1 OR T1.LineNum IN (select SUBSTRING(',' + T1.[U_BoxNumbers] + ',', Number + 1,
CHARINDEX(',', ',' + T1.[U_BoxNumbers] + ',', Number + 1) - Number -1)
FROM master.dbo.spt_values
WHERE Type = 'P'
AND Number <= LEN(',' + T1.[U_BoxNumbers] + ',') - 1
AND SUBSTRING(',' + T1.[U_BoxNumbers] + ',', Number, 1) = ','))2
Note. Not tested in the system.
Thanks & Regards,
Nagarajan