Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Problemas con una Consulta

Estas en el tema de Problemas con una Consulta en el foro de SQL Server en Foros del Web. Estimados, como siempre recurro a ustedes cuando ya estoy Out!!!. Tengo la siguiente tabla llamada "Comprobantes" Estructura y Datos: ID, Fecha, Articulo, n_comp, importe, renglon, ...
  #1 (permalink)  
Antiguo 03/03/2015, 12:56
 
Fecha de Ingreso: octubre-2010
Ubicación: Palermo
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Problemas con una Consulta

Estimados, como siempre recurro a ustedes cuando ya estoy Out!!!.

Tengo la siguiente tabla llamada "Comprobantes"

Estructura y Datos:
ID, Fecha, Articulo, n_comp, importe, renglon, promo, es_kit
----------------------------------------------------------------------------
1, 2015-03-02, kit00003, 0001000100, 0.00 , 1, kit00003, 1
2, 2015-03-02, rcu00100, 0001000100, 190.00 , 2, kit00003, 1
3, 2015-03-02, inf00001, 0001000100, 50.00 , 3, kit00003, 1
4, 2015-03-02, pil00010, 0001000100, 18.00 , 4, kit00003, 1
5, 2015-03-02, dvr00024, 0001000101, 250.00 , 1, ,0
6, 2015-03-02, kit00002, 0001000102, 0.00 , 1, kit00002, 1
7, 2015-03-02, inf00001, 0001000102, 50.00 , 2, kit00002, 1
8, 2015-03-02, pil00010, 0001000102, 18.00 , 3, kit00002, 1

Por lo que se entiende en la tabla, se graban los renglones de los comprobantes de ventas.

Es decir el comprobante 0001000100 tiene 4 renglones y corresponde a un Kit3
El comprobante 0001000101 es de un solo renglon porque es un solo producto.

Como resultado me estan pidiendo:
Sumar los comprobantes (esto lo tengo recsuelto) que sean unicamente Kit 2 y 3.
Y en la misma linea concatenar los articulos para que se lea algo asi:

Result:
-------------------------------------------
Fecha, articulos, comprobante, total
2015-03-02, kit00003 - rcu00100 - inf00001 - pil00010 , 0001000100, 258.00

Acá esta mi problema, no consigo concatenar los articulos en una misma linea.

Consulta que tengo diseñada hasta ahora:

Select fecha, n_comp, promo as KIT, sum(importe) as total from Comprobantes a
where (DATEDIFF (MONTH,fecha, GETDATE()) < 1) and n_comp IN (
SELECT c.n_comp FROM Comprobantes c WHERE c.es_kit=1)
group by fecha, n_comp, promo

Me faltaria concatenar el texto de los articulos que intervienen.
Vi algunos ejemplos pero hasta ahora no pude resolverlo.
Estoy utilizando SQL Express 2008 R2.

Si me tiran alguna idea!
Muchas Gracias
Gustavo
__________________
-------------------------------
Gustavo
[email protected]
cncnet.com.ar
  #2 (permalink)  
Antiguo 03/03/2015, 13:00
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problemas con una Consulta

http://www.mssqltips.com/sqlserverti...in-sql-server/
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 03/03/2015, 13:06
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problemas con una Consulta

otro ejemplo ya digerido ;)

http://www.forosdelweb.com/f87/regis...o-uno-1103244/

uno mas

http://www.forosdelweb.com/f87/subqu...lores-1059035/
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 03/03/2015, 13:08
 
Fecha de Ingreso: octubre-2010
Ubicación: Palermo
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Problemas con una Consulta

Gracias,Libras.!!!
Voy a tratar de acomodarlo a mi consulta.....
despues vemos.
__________________
-------------------------------
Gustavo
[email protected]
cncnet.com.ar
  #5 (permalink)  
Antiguo 03/03/2015, 14:13
 
Fecha de Ingreso: octubre-2010
Ubicación: Palermo
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Problemas con una Consulta

Cuando corro el ejemplo, me da el siguiente error:

Msg 156, Level 15, State 1, Procedure VALUE, Line 12
Incorrect syntax near the keyword 'SELECT'.

CREATE FUNCTION VALUE (@id VARCHAR(20))
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @articulo VARCHAR(1000)
SELECT @articulo = COALESCE(@articulo,'') + cod_articu + ','
FROM comprobantes WHERE n_comp=@id
RETURN @articulo
END
SELECT a.fecha_mov, a.n_comp, (SELECT dbo.VALUE(a.n_comp)) from comprobantes a
group by a.fecha_mov, a.n_comp


ideas?
Gustavo
__________________
-------------------------------
Gustavo
[email protected]
cncnet.com.ar
  #6 (permalink)  
Antiguo 03/03/2015, 14:50
 
Fecha de Ingreso: octubre-2010
Ubicación: Palermo
Mensajes: 55
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Problemas con una Consulta

Perdon, ya esta!!!!
Solucionado!!!!!!.
Tenía que generar la funcion primero y despues ejecutar el select.

Mil disculpas!! :)
__________________
-------------------------------
Gustavo
[email protected]
cncnet.com.ar
  #7 (permalink)  
Antiguo 03/03/2015, 15:25
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Problemas con una Consulta

que bien que pudiste resolver tu problema :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: concatenar, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:52.