Agrrgar columna a Referencias Cruzadas
Hola experto, espero me puedas ayudar, este es un pequeño ejem que
me ha servido de mucho para guiarme pero ahora tengo otro inconveniente, quiero poner alado de Pcto01, Pcto02 ..., al cuot a la que debe llegar un vend, ¿se puede hacer?, claro que la cuota lo tengo en otra tabla en donde guardo el Cod del Vendedor, el Cod del Pcto y la cuota del pdcto
Nombre Pcto01 <Cuota1> Pcto02 <Cuota2> Pcto03 pcto04 pcto05 pcto06 Total
------ ------- ------- ------- ------- ------- ------- ------- ------ ------
1 1.1 10.00 .0 8.00 1.3 1.4 2.4 .0 6.2
2 2.1 8.00 3.4 7.00 2.3 2.4 2.4 .0 12.6
(2 filas afectadas)
USE Northwind
GO
Create TABLE Cuot
( Nomb char(02),
pcto char(2),
cant DECIMAL(2,1) )
GO
INSERT INTO Cuot VALUES (01, 1, 1.1)
INSERT INTO Cuot VALUES (02, 2, 1.2)
INSERT INTO Cuot VALUES (01, 3, 1.3)
INSERT INTO Cuot VALUES (01, 4, 1.4)
INSERT INTO Cuot VALUES (02, 1, 2.1)
INSERT INTO Cuot VALUES (02, 2, 2.2)
INSERT INTO Cuot VALUES (02, 3, 2.3)
INSERT INTO Cuot VALUES (02, 4, 2.4)
INSERT INTO Cuot VALUES (02, 5, 2.4)
INSERT INTO Cuot VALUES (01, 5, 2.4)
GO
select * from cuot
select n.*,(n.Pcto01 + n.Pcto02 + n.Pcto03 + n.Pcto04 + n.Pcto05 + n.Pcto06 ) as Total
from (SELECT Nomb as Nombre,
SUM(CASE c.pcto WHEN 1 THEN cant ELSE 0 END) AS Pcto01,
SUM(CASE c.pcto WHEN 2 THEN cant ELSE 0 END) AS Pcto02,
SUM(CASE c.pcto WHEN 3 THEN cant ELSE 0 END) AS Pcto03,
SUM(CASE c.pcto WHEN 4 THEN cant ELSE 0 END) AS pcto04,
SUM(CASE c.pcto WHEN 5 THEN cant ELSE 0 END) AS pcto05,
SUM(CASE c.pcto WHEN 6 THEN cant ELSE 0 END) AS pcto06
FROM cuot as C
GROUP BY Nomb) as N
GO
Bueno espero me puedas ayudar o darme un link de referencia para seguir investigando ...
me ha servido de mucho para guiarme pero ahora tengo otro inconveniente, quiero poner alado de Pcto01, Pcto02 ..., al cuot a la que debe llegar un vend, ¿se puede hacer?, claro que la cuota lo tengo en otra tabla en donde guardo el Cod del Vendedor, el Cod del Pcto y la cuota del pdcto
Nombre Pcto01 <Cuota1> Pcto02 <Cuota2> Pcto03 pcto04 pcto05 pcto06 Total
------ ------- ------- ------- ------- ------- ------- ------- ------ ------
1 1.1 10.00 .0 8.00 1.3 1.4 2.4 .0 6.2
2 2.1 8.00 3.4 7.00 2.3 2.4 2.4 .0 12.6
(2 filas afectadas)
USE Northwind
GO
Create TABLE Cuot
( Nomb char(02),
pcto char(2),
cant DECIMAL(2,1) )
GO
INSERT INTO Cuot VALUES (01, 1, 1.1)
INSERT INTO Cuot VALUES (02, 2, 1.2)
INSERT INTO Cuot VALUES (01, 3, 1.3)
INSERT INTO Cuot VALUES (01, 4, 1.4)
INSERT INTO Cuot VALUES (02, 1, 2.1)
INSERT INTO Cuot VALUES (02, 2, 2.2)
INSERT INTO Cuot VALUES (02, 3, 2.3)
INSERT INTO Cuot VALUES (02, 4, 2.4)
INSERT INTO Cuot VALUES (02, 5, 2.4)
INSERT INTO Cuot VALUES (01, 5, 2.4)
GO
select * from cuot
select n.*,(n.Pcto01 + n.Pcto02 + n.Pcto03 + n.Pcto04 + n.Pcto05 + n.Pcto06 ) as Total
from (SELECT Nomb as Nombre,
SUM(CASE c.pcto WHEN 1 THEN cant ELSE 0 END) AS Pcto01,
SUM(CASE c.pcto WHEN 2 THEN cant ELSE 0 END) AS Pcto02,
SUM(CASE c.pcto WHEN 3 THEN cant ELSE 0 END) AS Pcto03,
SUM(CASE c.pcto WHEN 4 THEN cant ELSE 0 END) AS pcto04,
SUM(CASE c.pcto WHEN 5 THEN cant ELSE 0 END) AS pcto05,
SUM(CASE c.pcto WHEN 6 THEN cant ELSE 0 END) AS pcto06
FROM cuot as C
GROUP BY Nomb) as N
GO
Bueno espero me puedas ayudar o darme un link de referencia para seguir investigando ...
1 respuesta
Respuesta de brownsea
1