Agrupar, contar y sumar campos de dos Tablas en SQL Server Express 2012
Publicado por Contraveneno (1 intervención) el 29/08/2019 00:42:25
Buenas tardes
Muchas gracias por anticipado por toda la ayuda que puedan ofrecerme y por su valioso tiempo invertido.
Necesito agrupar, contar la cantidad de registros de acuerdo a los 3 primeros caracteres del campo NCF y sumar de las dos tablas los campos Monto_facturado, ITBIS, Efectivo, Crédito y Tarjetas.
El Script para crear las dos tablas es el siguiente:
El Script para insertar los datos en las dos tablas es el siguiente:
Los resultados esperados del Query con los datos de las tablas anteriores, debe ser el siguiente:
NCF|Cant_de_NCF|MONTO_FACTURADO|ITBIS|EFECTIVO|CREDITO|TARJETAS|
B01|1|100.00|18.00|118.00|0.00|0.00|
B02|1|375.00|67.50| 0.00|442.50|0.00|
B04|3|326.00|58.68|153.40| 88.50|142.78|
B15|1|300.00|54.00| 0.00| 0.00|354.00|
Muchas gracias por anticipado por toda la ayuda que puedan ofrecerme y por su valioso tiempo invertido.
Necesito agrupar, contar la cantidad de registros de acuerdo a los 3 primeros caracteres del campo NCF y sumar de las dos tablas los campos Monto_facturado, ITBIS, Efectivo, Crédito y Tarjetas.
El Script para crear las dos tablas es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
USE [Pruebas]
GO
/****** Object: Table [dbo].[607] Script Date: 27/08/2019 7:47:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[607](
[NCF] [nvarchar](19) NOT NULL,
[Monto_Facturado] [decimal](18, 0) NOT NULL,
[ITBIS] [decimal](18, 0) NOT NULL,
[Efectivo] [decimal](18, 0) NOT NULL,
[Credito] [decimal](18, 0) NOT NULL,
[Tarjetas] [decimal](18, 0) NOT NULL
) ON [PRIMARY]
GO
USE [Pruebas]
GO
/****** Object: Table [dbo].[607-B] Script Date: 27/08/2019 7:47:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[607-B](
[NCF] [nvarchar](19) NOT NULL,
[Monto_Facturado] [decimal](18, 0) NOT NULL,
[ITBIS] [decimal](18, 0) NOT NULL,
[Efectivo] [decimal](18, 0) NOT NULL,
[Credito] [decimal](18, 0) NOT NULL,
[Tarjetas] [decimal](18, 0) NOT NULL
) ON [PRIMARY]
GO
El Script para insertar los datos en las dos tablas es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
USE [Pruebas]
GO
INSERT INTO [dbo].[607-B]
([NCF]
,[Monto_Facturado]
,[ITBIS]
,[Efectivo]
,[Credito]
,[Credito]
,[Tarjetas])
VALUES ('B0200000014', 375.00, 67.50, 0.00, 442.50, 0.00)
VALUES ('B0400000004', 130.00, 23.40, 153.40, 0.00, 0.00)
VALUES ('B0400000005', 121.00, 21.78, 0.00, 0.00, 142.78)
GO
USE [Pruebas]
GO
INSERT INTO [dbo].[607-B]
([NCF]
,[Monto_Facturado]
,[ITBIS]
,[Efectivo]
,[Credito]
,[Credito]
,[Tarjetas])
VALUES ('B0100000001', 100.00, 18.00, 118.00, 0.00, 0.00)
VALUES ('B0400000003', 75.00, 13.50, 0.00, 88.50, 0.00)
VALUES ('B1500000007', 300.00, 54.00, 0.00, 0.00, 354.00)
GO
Los resultados esperados del Query con los datos de las tablas anteriores, debe ser el siguiente:
NCF|Cant_de_NCF|MONTO_FACTURADO|ITBIS|EFECTIVO|CREDITO|TARJETAS|
B01|1|100.00|18.00|118.00|0.00|0.00|
B02|1|375.00|67.50| 0.00|442.50|0.00|
B04|3|326.00|58.68|153.40| 88.50|142.78|
B15|1|300.00|54.00| 0.00| 0.00|354.00|
Valora esta pregunta


0