query no me sale ayuda...!

08/09/2006 - 05:17 por Jose | Informe spam
Estimados(as).

Tengo una tabla. Llamemosla "tabla" con 4 campos:
campo1 ch 2
campo2 ch 2
campo3 ch 1
campo4 decimal 18,2

El campo3 tiene 2 posibles valores: O ó C

La idea es agrupar por campo1 y campo2 y tener las columnas del monto por el
valor O y otra columna con el monto de C

Gracias por la ayuda que me puedan dar.,

Preguntas similare

Leer las respuestas

#1 SYoung
08/09/2006 - 06:16 | Informe spam
SET NOCOUNT ON
GO

CREATE TABLE dbo.#Table1 (
campo1 char(2),
campo2 char(2),
campo3 char(1),
campo4 decimal(18,2));

INSERT dbo.#Table1
SELECT 'AA','AA','O',2.00;

INSERT dbo.#Table1
SELECT 'AA','AA','O',2.00;

INSERT dbo.#Table1
SELECT 'AA','AA','C',5.00;

INSERT dbo.#Table1
SELECT 'AA','AA','C',5.00;

INSERT dbo.#Table1
SELECT 'BB','AA','O',3.00;

INSERT dbo.#Table1
SELECT 'BB','AA','O',3.00;

INSERT dbo.#Table1
SELECT 'BB','AA','C',6.00;

INSERT dbo.#Table1
SELECT 'BB','AA','C',6.00;

INSERT dbo.#Table1
SELECT 'CC','AA','O',4.00;

INSERT dbo.#Table1
SELECT 'CC','AA','O',4.00;

INSERT dbo.#Table1
SELECT 'CC','AA','C',7.00;

INSERT dbo.#Table1
SELECT 'CC','AA','C',7.00;


SELECT SUM(campo4) [campo4],
campo3,
campo1,
campo2
FROM dbo.#Table1
GROUP BY campo1, campo2, campo3;


DROP TABLE dbo.#Table1
GO

Sal Young
http://syoungdesigns.blogdns.com


"Jose" wrote:

Estimados(as).

Tengo una tabla. Llamemosla "tabla" con 4 campos:
campo1 ch 2
campo2 ch 2
campo3 ch 1
campo4 decimal 18,2

El campo3 tiene 2 posibles valores: O ó C

La idea es agrupar por campo1 y campo2 y tener las columnas del monto por el
valor O y otra columna con el monto de C

Gracias por la ayuda que me puedan dar.,



Respuesta Responder a este mensaje
#2 Alejandro Mesa
08/09/2006 - 14:16 | Informe spam
Jose,

Puedes usar la expresion "case" para calcular los montos.

select
campo1,
campo2,
sum(case when campo3 = 'O' then campo4 else 0 end) as monto_O,
sum(case when campo3 = 'C' then campo4 else 0 end) as monto_C
from
dbo.t1
group by campo1, campo2
go


AMB

"Jose" wrote:

Estimados(as).

Tengo una tabla. Llamemosla "tabla" con 4 campos:
campo1 ch 2
campo2 ch 2
campo3 ch 1
campo4 decimal 18,2

El campo3 tiene 2 posibles valores: O ó C

La idea es agrupar por campo1 y campo2 y tener las columnas del monto por el
valor O y otra columna con el monto de C

Gracias por la ayuda que me puedan dar.,



Respuesta Responder a este mensaje
#3 Jose
08/09/2006 - 15:06 | Informe spam
Gracias
"SYoung" escribió en el mensaje
news:
SET NOCOUNT ON
GO

CREATE TABLE dbo.#Table1 (
campo1 char(2),
campo2 char(2),
campo3 char(1),
campo4 decimal(18,2));

INSERT dbo.#Table1
SELECT 'AA','AA','O',2.00;

INSERT dbo.#Table1
SELECT 'AA','AA','O',2.00;

INSERT dbo.#Table1
SELECT 'AA','AA','C',5.00;

INSERT dbo.#Table1
SELECT 'AA','AA','C',5.00;

INSERT dbo.#Table1
SELECT 'BB','AA','O',3.00;

INSERT dbo.#Table1
SELECT 'BB','AA','O',3.00;

INSERT dbo.#Table1
SELECT 'BB','AA','C',6.00;

INSERT dbo.#Table1
SELECT 'BB','AA','C',6.00;

INSERT dbo.#Table1
SELECT 'CC','AA','O',4.00;

INSERT dbo.#Table1
SELECT 'CC','AA','O',4.00;

INSERT dbo.#Table1
SELECT 'CC','AA','C',7.00;

INSERT dbo.#Table1
SELECT 'CC','AA','C',7.00;


SELECT SUM(campo4) [campo4],
campo3,
campo1,
campo2
FROM dbo.#Table1
GROUP BY campo1, campo2, campo3;


DROP TABLE dbo.#Table1
GO

Sal Young
http://syoungdesigns.blogdns.com


"Jose" wrote:

Estimados(as).

Tengo una tabla. Llamemosla "tabla" con 4 campos:
campo1 ch 2
campo2 ch 2
campo3 ch 1
campo4 decimal 18,2

El campo3 tiene 2 posibles valores: O ó C

La idea es agrupar por campo1 y campo2 y tener las columnas del monto por
el
valor O y otra columna con el monto de C

Gracias por la ayuda que me puedan dar.,



Respuesta Responder a este mensaje
#4 Jose
08/09/2006 - 15:07 | Informe spam
Gracias alejandro. Eso era lo que buscaba. Es una sentencia bien sencilla
pero no sabia como hacerla.
Mil gracias funcionó perfecto.
Saludos
"Alejandro Mesa" escribió en el
mensaje news:
Jose,

Puedes usar la expresion "case" para calcular los montos.

select
campo1,
campo2,
sum(case when campo3 = 'O' then campo4 else 0 end) as monto_O,
sum(case when campo3 = 'C' then campo4 else 0 end) as monto_C
from
dbo.t1
group by campo1, campo2
go


AMB

"Jose" wrote:

Estimados(as).

Tengo una tabla. Llamemosla "tabla" con 4 campos:
campo1 ch 2
campo2 ch 2
campo3 ch 1
campo4 decimal 18,2

El campo3 tiene 2 posibles valores: O ó C

La idea es agrupar por campo1 y campo2 y tener las columnas del monto por
el
valor O y otra columna con el monto de C

Gracias por la ayuda que me puedan dar.,



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida