SQL Server - Como hacer resultados automáticas mediante de una consulta

 
Vista:
sin imagen de perfil
Val: 11
Ha disminuido su posición en 2 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Como hacer resultados automáticas mediante de una consulta

Publicado por Ricardo (4 intervenciones) el 05/11/2020 00:10:13
Buen dia, estoy realizando un programa para obtener el titulo de mi carrera
en el cual tengo que hacer operaciones en una base de datos
en la cual no puedo avanzar ya que no se como hacer la consulta

pongo detalles en las imágenes adjuntadas

la segunda imagen es como debiera quedar los datos

esta es la estructura de la tabla
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CREATE TABLE [dbo].[Flows] (
    [Id]       INT           IDENTITY (1, 1) NOT NULL,
    [Concepto] VARCHAR (150) DEFAULT (NULL) NOT NULL,
    [Category] INT           NULL,
    [Month1]   FLOAT (53)    DEFAULT ((0)) NOT NULL,
    [Month2]   FLOAT (53)    DEFAULT ((0)) NOT NULL,
    [Month3]   FLOAT (53)    DEFAULT ((0)) NOT NULL,
    [Month4]   FLOAT (53)    DEFAULT ((0)) NOT NULL,
    [Month5]   FLOAT (53)    DEFAULT ((0)) NOT NULL,
    [Month6]   FLOAT (53)    DEFAULT ((0)) NOT NULL,
    [Month7]   FLOAT (53)    DEFAULT ((0)) NOT NULL,
    [Month8]   FLOAT (53)    DEFAULT ((0)) NOT NULL,
    [Month9]   FLOAT (53)    DEFAULT ((0)) NOT NULL,
    [Month10]  FLOAT (53)    DEFAULT ((0)) NOT NULL,
    [Month11]  FLOAT (53)    DEFAULT ((0)) NOT NULL,
    [Month12]  FLOAT (53)    DEFAULT ((0)) NOT NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC),
    FOREIGN KEY ([Category]) REFERENCES [dbo].[Categories] ([Folio])
);


SS-2020-11-04-001
SS-2020-11-04-002
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 9
Ha disminuido su posición en 6 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Como hacer resultados automáticas mediante de una consulta

Publicado por Cristina (2 intervenciones) el 05/11/2020 20:32:49
123851558_3381414418663845_1224835645060638940_n
me ayudarian con este?:c se los agradeceria toda la vida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil
Val: 11
Ha disminuido su posición en 2 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Como hacer resultados automáticas mediante de una consulta

Publicado por Ricardo (4 intervenciones) el 05/11/2020 20:37:41
manejas alguna base de datos?
y en que tienes que realizar el programa

aunque te recomendaría que hicieras una pregunta aparte para que mas personas lo puedan ver y puedan ayudarte mas rapido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha disminuido su posición en 6 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Como hacer resultados automáticas mediante de una consulta

Publicado por Cristina (2 intervenciones) el 05/11/2020 20:39:06
lo tengo que hacer en dev c++ y si ya hice la pregunta a parte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha disminuido su posición en 2 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Como hacer resultados automáticas mediante de una consulta

Publicado por Ricardo (4 intervenciones) el 05/11/2020 20:35:55
si
solo que no manejo fechas para la suma de los valores
y lo que se pretende hacer es que el resultado de (saldo inicial + la suma de categoría 1) - la suma categoría 2 del mes 1, sea el saldo inicial del mes 2
es decir

Concepto | Categoría | Mes 1 | Mes 2 | Mes 3
Saldo Inicial | ---- | 0 | 35 | 90
Ventas de Contado | 1 | 15 | 25 | 15
cuentas por pagar | 2 | 20 | 30 | 20

total | --- | 35 | 90 | 125
espero se logre entender

y así sucesivamente hasta que el saldo inicial del mes 12 sea el resultado de la operación (saldo inicial + la suma de categoría 1) - la suma categoría 2 del mes 11
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha disminuido su posición en 2 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Como hacer resultados automáticas mediante de una consulta

Publicado por Ricardo (4 intervenciones) el 06/11/2020 02:09:36
he encontrado como solucionar el problema por el momento

(solo quisiera saber si la consulta se puede simplificar)

la consulta que utilice es la 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
49
50
51
52
53
54
55
56
57
58
SELECT M11.Month1, M11.Month2, M11.Month3, M11.Month4, M11.Month5, M11.Month6, M11.Month7, M11.Month8, M11.Month9, M11.Month10, M11.Month11, ((M11.Month11 + C1M12.SC1M12) - C2M12.SC2M12) AS Month12 FROM
(
	SELECT M10.Month1, M10.Month2, M10.Month3, M10.Month4, M10.Month5, M10.Month6, M10.Month7, M10.Month8, M10.Month9, M10.Month10, ((M10.Month10 + C1M11.SC1M11) - C2M11.SC2M11) AS Month11 FROM
	(
		SELECT M9.Month1, M9.Month2, M9.Month3, M9.Month4, M9.Month5, M9.Month6, M9.Month7, M9.Month8, M9.Month9, ((M9.Month9 + C1M10.SC1M10) - C2M10.SC2M10) AS Month10 FROM
		(
			SELECT M8.Month1, M8.Month2, M8.Month3, M8.Month4, M8.Month5, M8.Month6, M8.Month7, M8.Month8, ((M8.Month8 + C1M9.SC1M9) - C2M9.SC2M9) AS Month9 FROM
			(
				SELECT M7.Month1, M7.Month2, M7.Month3, M7.Month4, M7.Month5, M7.Month6, M7.Month7, ((M7.Month7 + C1M8.SC1M8) - C2M8.SC2M8) AS Month8 FROM
				(
					SELECT M6.Month1, M6.Month2, M6.Month3, M6.Month4, M6.Month5, M6.Month6, ((M6.Month6 + C1M7.SC1M7) - C2M7.SC2M7) AS Month7 FROM
					(
						SELECT M5.Month1, M5.Month2, M5.Month3, M5.Month4, M5.Month5, ((M5.Month5 + C1M6.SC1M6) - C2M6.SC2M6) AS Month6 FROM
						(
							SELECT M4.Month1, M4.Month2, M4.Month3, M4.Month4, ((M4.Month4 + C1M5.SC1M5) - C2M5.SC2M5) AS Month5 FROM
							(
								SELECT M3.Month1, M3.Month2, M3.Month3, ((M3.Month3 + C1M4.SC1M4) - C2M4.SC2M4) AS Month4 FROM
								(
									SELECT M2.Month1, M2.Month2, ((M2.Month2 + C1M3.SC1M3) - C2M3.SC2M3) AS Month3 FROM
									(
										SELECT M1.Month1, ((M1.Month1 + C1M2.SC1M2) - C2M2.SC2M2) AS Month2 FROM
										(
											SELECT C1M1.SC1M1 - C2M1.SC2M1 AS Month1 FROM
												(SELECT Sum(Month1) AS SC1M1 FROM flows WHERE Category = 0 or Category = 1) AS C1M1,
												(SELECT Sum(Month1) AS SC2M1 FROM flows WHERE Category = 2) AS C2M1
										) AS M1,
										(SELECT SUM(Month2) AS SC1M2 FROM flows WHERE Category = 1) AS C1M2,
										(SELECT Sum(Month2) AS SC2M2 FROM flows WHERE Category = 2) AS C2M2
									) AS M2,
									(SELECT SUM(Month3) AS SC1M3 FROM flows WHERE Category = 1) AS C1M3,
									(SELECT Sum(Month3) AS SC2M3 FROM flows WHERE Category = 2) AS C2M3
								) AS M3,
								(SELECT SUM(Month4) AS SC1M4 FROM flows WHERE Category = 1) AS C1M4,
								(SELECT Sum(Month4) AS SC2M4 FROM flows WHERE Category = 2) AS C2M4
							) AS M4,
							(SELECT SUM(Month5) AS SC1M5 FROM flows WHERE Category = 1) AS C1M5,
							(SELECT Sum(Month5) AS SC2M5 FROM flows WHERE Category = 2) AS C2M5
						) AS M5,
						(SELECT SUM(Month6) AS SC1M6 FROM flows WHERE Category = 1) AS C1M6,
						(SELECT Sum(Month6) AS SC2M6 FROM flows WHERE Category = 2) AS C2M6
					) AS M6,
					(SELECT SUM(Month7) AS SC1M7 FROM flows WHERE Category = 1) AS C1M7,
					(SELECT Sum(Month7) AS SC2M7 FROM flows WHERE Category = 2) AS C2M7
				) AS M7,
				(SELECT SUM(Month8) AS SC1M8 FROM flows WHERE Category = 1) AS C1M8,
				(SELECT Sum(Month8) AS SC2M8 FROM flows WHERE Category = 2) AS C2M8
			) AS M8,
			(SELECT SUM(Month9) AS SC1M9 FROM flows WHERE Category = 1) AS C1M9,
			(SELECT Sum(Month9) AS SC2M9 FROM flows WHERE Category = 2) AS C2M9
		) AS M9,
		(SELECT SUM(Month10) AS SC1M10 FROM flows WHERE Category = 1) AS C1M10,
		(SELECT Sum(Month10) AS SC2M10 FROM flows WHERE Category = 2) AS C2M10
	) AS M10,
	(SELECT SUM(Month11) AS SC1M11 FROM flows WHERE Category = 1) AS C1M11,
	(SELECT Sum(Month11) AS SC2M11 FROM flows WHERE Category = 2) AS C2M11
) AS M11,
(SELECT SUM(Month12) AS SC1M12 FROM flows WHERE Category = 1) AS C1M12,
(SELECT Sum(Month12) AS SC2M12 FROM flows WHERE Category = 2) AS C2M12;

estos son los resultados de la consulta (he cambiado un poco la consulta para poder obtener resultados con todos los campos)
la primera parte es asignando los valores al mes siguiente
la segunda es de todos los datos de la tabla
la tercera es la consulta original mas los campos id, concepto y categoria

SS-2020-11-05-002

Estos son los resultados que quería llegar a obtener

SS-2020-11-05-001
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar