David McAfee
davidmcafee at gmail.com
Thu Jun 11 14:20:05 CDT 2009
Paul, maybe you can insert it into a temp table (Lets assume it is called
tblTemp) then create a udf which does something like this:
CREATE FUNCTION udfTableToList (@PoolCar AS VARCHAR(50), @intMode AS INT)
RETURNS VARCHAR(1000)
AS
BEGIN
DECLARE @str VARCHAR(100)
IF @IntMode = 1 SELECT @str = ISNULL(@str,'') + DriverName + ',' FROM
tblTemp WHERE PoolCar = @PoolCar
ELSE IF @IntMode = 2 SELECT @str = ISNULL(@str,'') + Town + ',' FROM
tblTemp WHERE PoolCar = @PoolCar
RETURN LEFT(@str,LEN(@Str)-1)
END
You call the udf as such:
SELECT DISTINCT PoolCar, dbo.udfTableToList(PoolCar,1) AS Driver, Region,
dbo.udfTableToList(PoolCar,2) AS Town FROM tblTemp
Results:
PoolCar Driver Region Town
PC01 Smith,Taylor North York,Hull
PC02 Russell,Loft,Burns South London,London,Middlesex