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

SQL. Agrupar por un campo Memo en BD Access2

Estas en el tema de SQL. Agrupar por un campo Memo en BD Access2 en el foro de SQL Server en Foros del Web. El problema que tengo ahora mismo, es que una vez así la consulta: Código: SELECT A.Codigo, A.Descripcion, A.[Referencia Interna], SUM(L.[Uds Servidas]) AS [Uds Servidas] FROM ...
  #1 (permalink)  
Antiguo 18/07/2007, 01:28
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
SQL. Agrupar por un campo Memo en BD Access2

El problema que tengo ahora mismo, es que una vez así la consulta:
Código:
SELECT A.Codigo, A.Descripcion, A.[Referencia Interna], SUM(L.[Uds Servidas]) AS [Uds Servidas]
FROM ([Lineas Facturacion] AS L
INNER JOIN [Cabecera Facturacion] AS C
ON (L.Numero=C.Numero) AND (L.Serie=C.Serie) AND (L.Tipo=C.Tipo))
INNER JOIN Articulos AS A
ON L.Producto=A.Codigo
GROUP BY C.[Cliente Proveedor], A.Codigo, A.Descripcion, A.[Referencia Interna]
HAVING C.[Cliente Proveedor]='ElQueSea...';
Me da un error, diciendo que no puedo agrupar con un campo Memo o Long Binary. La Base de datos tengo entendido que está en Access2. Yo para trabajar con ella la he convertido a Access2003 y estoy haciendo las pruebas.
A mi me funciona correctamente con Access 2003, pero cuando la llevo a la aplicación original (que tiene que seguir trabajando con la version antigua) me da el error del campo memo...
Saben como solucionarlo? De qué otra forma podría meter el campo Descripción en esa consulta?
Gracias!
__________________
..:: moNTeZIon ::..
  #2 (permalink)  
Antiguo 18/07/2007, 09:06
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Re: SQL. Agrupar por un campo Memo en BD Access2

Amigo moNTeZIon,
este foro es para SQL Server.
Bueno, segun lei, la solucion puede estar truncando el campo memo con la funcion Left([Field], 255).
Nos avisas si te sirvio.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 18/07/2007, 10:32
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Re: SQL. Agrupar por un campo Memo en BD Access2

Si flaviovich, creeme que siempre es lo primero decidir a donde se postea un tema, pero no pude encontrar nada parecido a Access en los foros. Si existe y no lo he visto, por favor dímelo.
Tiene buena pinta eso del left, creo que valdrá, pero mañana te comento seguro.
Gracias man!
__________________
..:: moNTeZIon ::..
  #4 (permalink)  
Antiguo 18/07/2007, 12:54
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Re: SQL. Agrupar por un campo Memo en BD Access2

Hola a ambos

Primero, se me hace increible tratar de AGRUPAR por un campo MEMO, pero bueno.

En caso de que funcionara la propuesta de flaviovich, solo hacer la observacion que lo hara con los primeros 255 caracteres del campo memo (de la izquierda).

Saludos a ambos.
  #5 (permalink)  
Antiguo 19/07/2007, 01:42
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Re: SQL. Agrupar por un campo Memo en BD Access2

Entonces dime, iislas, que harías para sacar la siguiente consulta.
La cosa consta de 3 tablas: [Articulos], [Cabecera Facturacion], y [Lineas Facturacion]
La consulta que quiero ver seria, para un cliente, de todos los artículos que se le han vendido, una lista con Codigo de Articulo, Descripción, y Unidades vendidas.
Por lo que veo, se tendría que agrupar por codigo de artículo, pero utilizar GROUP BY, se supone que estoy obligado a poner todos los campos de la SELECT en el GROUP BY, y por eso puse ahí el campo Memo, no por otra razón. Claro que no quiero agrupar por un campo Memo!!
flaviovich, la idea del left no funcionó.
Lo que si me ha funcionado es quitar el campo Descripcion del GROUP BY, y dejarlo en la SELECT, pero aplicandole un MAX(LEFT(campo,255)), de esta forma como está dentro de una funcion, parece que le gusta más.
En fin, aun así, si lo siguen viendo mala solución, agradecería una mano.
Un saludo!
__________________
..:: moNTeZIon ::..
  #6 (permalink)  
Antiguo 19/07/2007, 12:13
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Re: SQL. Agrupar por un campo Memo en BD Access2

Dime si funciona:

SELECT A.Codigo, A.Descripcion, A.[Referencia Interna], X.[Uds Servidas]
FROM Articulos AS A JOIN (
SELECT C.[Cliente Proveedor], L.Producto, L.Numero, L.Serie, L.Tipo, SUM(Uds Servidas) AS [Uds Servidas]
FROM [Lineas Facturacion] L INNER JOIN [Cabecera Facturacion] AS C
ON (L.Numero=C.Numero) AND (L.Serie=C.Serie) AND (L.Tipo=C.Tipo))
WHERE C.[Cliente Proveedor] = 'Loquesea'
GROUP BY C.[Cliente Proveedor], L.Producto, L.Numero, L.Serie, L.Tipo) AS X
ON A.Codigo = x.Producto
  #7 (permalink)  
Antiguo 20/07/2007, 04:26
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Re: SQL. Agrupar por un campo Memo en BD Access2

Código:
Syntax Error in JOIN expression
Gracias de todas formas iislas.
Es que no veas con el tema del Access 2. Consigo que me funque la consulta en Access 2000, y cuando la paso a ese sistema no funca. A parte que los errores que da ese sistema dejan bastante que desear.
También, el error en tu caso, podría venir por tema de paréntesis. Que Access también es muy quisquilloso con esto...
En fin, con la primera ya me funcionó.
Saludos.
__________________
..:: moNTeZIon ::..
  #8 (permalink)  
Antiguo 20/07/2007, 12:07
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Re: SQL. Agrupar por un campo Memo en BD Access2

Te doy un buen consejo, cambiate, de Access a SQL SERVER 2005 EXPRESS EDITION WITH ADVANCED SERVICES, que es libre de cargo.
  #9 (permalink)  
Antiguo 23/07/2007, 02:10
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Re: SQL. Agrupar por un campo Memo en BD Access2

Por supuesto!
Pero sabrás que a veces en la vida, te toca meterte en algún "fregao" en el que tu no decides estas cosas, si no que vienen hechas y hay que apañarse con lo que tenemos. Y el requerimiento en este caso, es sacar esa consulta sobre ese sistema, y no empezar ahora con un cambio tan radical en toda la aplicación, a parte que no es lo que me han pedido...
Pero opino que es un muy buen consejo el tuyo.
Un saludo iislas!
__________________
..:: moNTeZIon ::..
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:34.