18/03/2015, 12:03
|
| Colaborador | | Fecha de Ingreso: agosto-2006 Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 5 meses Puntos: 774 | |
Respuesta: Consulta en SQL
Código SQL:
Ver originalCREATE TABLE operacion ( id INT, nombre VARCHAR(20), correlativo INT ) INSERT INTO operacion VALUES (1, 'CAMISA', 3) INSERT INTO operacion VALUES (2, 'PANTALON', 4) CREATE TABLE detalle ( id INT, op INT, correlativo INT ) INSERT INTO detalle VALUES (1, 444, 3) INSERT INTO detalle VALUES (2, 445, 3) ALTER FUNCTION VALUE2 (@id INT) RETURNS VARCHAR(MAX) AS BEGIN DECLARE @DepartmentName VARCHAR(1000) SELECT @DepartmentName = COALESCE(@DepartmentName,'') + CONVERT(VARCHAR(20),op) + ',' FROM detalle WHERE correlativo=@id RETURN @DepartmentName END SELECT t1.id,nombre,(SELECT dbo.VALUE2(t1.correlativo)) FROM operacion AS t1 LEFT JOIN detalle AS t2 ON (t1.correlativo=t2.correlativo) GROUP BY t1.id,t1.nombre,t1.correlativo
Resultado:
1 CAMISA 444,445,
2 PANTALON NULL
__________________ What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me |