Web Listing 1: Creating the Inline Table-Valued Function USE ADVENTUREWORKS GO CREATE FUNCTION GetLocalizedProductDetails (@CultureID nchar(6)) RETURNS TABLE AS RETURN ( SELECT p.ProductID , p.Name as ProductName , p.ProductNumber , p.Color , p.StandardCost , p.ListPrice , p.Size , p.ProductLine , p.Class , p.Style , p.ProductSubcategoryID , p.ProductModelID , pm.Name AS ProductModel , (SELECT COALESCE( MIN(CASE pdc.CultureID WHEN @CultureID THEN pd.Description END) , MIN(CASE pdc.CultureID WHEN N'en' THEN pd.Description END)) FROM Production.ProductDescription AS pd JOIN Production.ProductModelProductDescriptionCulture AS pdc ON pdc.ProductModelID = pm.ProductModelID AND pdc.ProductDescriptionID = pd.ProductDescriptionID WHERE pdc.CultureID IN ( @CultureID, N'en' )) AS ProductDescription FROM Production.Product AS p JOIN Production.ProductModel AS pm ON pm.ProductModelID = p.ProductModelID WHERE p.ProductModelID IS NOT NULL );