Ir al contenido

ROWS y COLUMNS

Se puede utilizar ROWS para generar fácilmente una subconsulta con resultados estáticos. Se puede utilizar, por ejemplo, para generar un maestro que no existe en la base de datos. También existen los operadores ROW y COLUMN para generar una única fila o columna.

SELECT
Person.BusinessEntityID,
Person.PersonType,
PersonType.PersonTypeDescription,
Person.FirstName,
Person.MiddleName,
FROM staging.Person
LEFT JOIN ROWS (
('SC' PersonType, 'Store Contact' PersonTypeDescription)
('IN','Individual (retail) customer')
('SP', 'Sales person')
('EM', 'Employee (non-sales)')
('VC', 'Vendor contact')
('GC', 'General contact')
) PersonType USING PersonType
Ver SQL compilado
SELECT
Person.BusinessEntityID AS BusinessEntityID,
Person.PersonType AS PersonType,
PersonType.PersonTypeDescription AS PersonTypeDescription,
Person.FirstName AS FirstName,
Person.MiddleName AS MiddleName
FROM staging.Person
LEFT JOIN (SELECT 'SC' AS PersonType,'Store Contact' AS PersonTypeDescription
UNION SELECT 'IN','Individual (retail) customer'
UNION SELECT 'SP','Sales person'
UNION SELECT 'EM','Employee (non-sales)'
UNION SELECT 'VC','Vendor contact'
UNION SELECT 'GC','General contact') PersonType ON Person.PersonType=PersonType.PersonType