Error Agrupando en GROUP BY

21/06/2004 - 21:20 por Cesar Garcia \(MCP\) | Informe spam
Como estan todos.

Les tengo una pregunta no relacionada con el Sql Server directamente pero es
de transact Sql, asi que decidi postear aqui, espero que me puedan ayudar.

Estoy consultando un dbf con el Microsoft Query. Tengo 2 archivos dbf, que
vendrian a ser las tablas ordenes y clientes.

Lo que quiero hacer es agrupar unas ordenes por el mes en que se fabricaron,
pero no tengo el dato como mes, sino como fecha, es decir para hacer el
group by estoy haciendo algo como

SELECT
Centida.NOMENT,
SUM(Acaorfa.CANTIDAD),
Month(Acaorfa.FECEMB),
SUM(Acaorfa.CANTIDAD * Acaorfa.PRECIO)
FROM Acaorfa.dbf Acaorfa
INNER JOIN Centida.dbf Centida ON
Acaorfa.CODENT = Centida.CODENT
WHERE (Acaorfa.ORDFAB Like '9%') AND
(Acaorfa.FECEMI>{d '2004-05-31'})

GROUP BY Centida.NOMENT, Month(Acaorfa.FECEMB)

Donde Acaorfa es el archivo de las ordenes y Centida el de los clientes.

El microsoft Query no me deja realizar esta consulta, me dice que no
encuentra el campo NOMENT, pero obviamente el campo esta en la tabla y es el
mismo nombre, pero cuando quito la parte de Month(...) no hay ningun
problema, alguien sabe por que pasa eso????

Saludos

Preguntas similare

Leer las respuestas

#1 Cesar Garcia \(MCP\)
21/06/2004 - 21:58 | Informe spam
sigue igual

ahora uso datepart en lugar de month, pero sale el mismo error


"Cesar Garcia (MCP)" escribió en el mensaje
news:
Como estan todos.

Les tengo una pregunta no relacionada con el Sql Server directamente pero


es
de transact Sql, asi que decidi postear aqui, espero que me puedan ayudar.

Estoy consultando un dbf con el Microsoft Query. Tengo 2 archivos dbf, que
vendrian a ser las tablas ordenes y clientes.

Lo que quiero hacer es agrupar unas ordenes por el mes en que se


fabricaron,
pero no tengo el dato como mes, sino como fecha, es decir para hacer el
group by estoy haciendo algo como

SELECT
Centida.NOMENT,
SUM(Acaorfa.CANTIDAD),
Month(Acaorfa.FECEMB),
SUM(Acaorfa.CANTIDAD * Acaorfa.PRECIO)
FROM Acaorfa.dbf Acaorfa
INNER JOIN Centida.dbf Centida ON
Acaorfa.CODENT = Centida.CODENT
WHERE (Acaorfa.ORDFAB Like '9%') AND
(Acaorfa.FECEMI>{d '2004-05-31'})

GROUP BY Centida.NOMENT, Month(Acaorfa.FECEMB)

Donde Acaorfa es el archivo de las ordenes y Centida el de los clientes.

El microsoft Query no me deja realizar esta consulta, me dice que no
encuentra el campo NOMENT, pero obviamente el campo esta en la tabla y es


el
mismo nombre, pero cuando quito la parte de Month(...) no hay ningun
problema, alguien sabe por que pasa eso????

Saludos


Respuesta Responder a este mensaje
#2 Fernando España
21/06/2004 - 22:00 | Informe spam
Debes usar datepart() revisa en el bol lo que se refiere a esto.



Fernando España
Gerente Informatica
Alta Tecnologia en Informatica S.A.
www.atisa.com.gt
7a. calle 4-34 Zona 10
Guatemala Centro America
PBX: (502) 3620005

Email:

****************************************

"Cesar Garcia (MCP)" escribió en el mensaje
news:
Como estan todos.

Les tengo una pregunta no relacionada con el Sql Server directamente pero


es
de transact Sql, asi que decidi postear aqui, espero que me puedan ayudar.

Estoy consultando un dbf con el Microsoft Query. Tengo 2 archivos dbf, que
vendrian a ser las tablas ordenes y clientes.

Lo que quiero hacer es agrupar unas ordenes por el mes en que se


fabricaron,
pero no tengo el dato como mes, sino como fecha, es decir para hacer el
group by estoy haciendo algo como

SELECT
Centida.NOMENT,
SUM(Acaorfa.CANTIDAD),
Month(Acaorfa.FECEMB),
SUM(Acaorfa.CANTIDAD * Acaorfa.PRECIO)
FROM Acaorfa.dbf Acaorfa
INNER JOIN Centida.dbf Centida ON
Acaorfa.CODENT = Centida.CODENT
WHERE (Acaorfa.ORDFAB Like '9%') AND
(Acaorfa.FECEMI>{d '2004-05-31'})

GROUP BY Centida.NOMENT, Month(Acaorfa.FECEMB)

Donde Acaorfa es el archivo de las ordenes y Centida el de los clientes.

El microsoft Query no me deja realizar esta consulta, me dice que no
encuentra el campo NOMENT, pero obviamente el campo esta en la tabla y es


el
mismo nombre, pero cuando quito la parte de Month(...) no hay ningun
problema, alguien sabe por que pasa eso????

Saludos


Respuesta Responder a este mensaje
#3 Gustavo Larriera [MVP SQL]
21/06/2004 - 22:14 | Informe spam
Prueba a usar un alias para la expresion MONTH, tanto en el GROUP BY como en
el SELECT.

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Cesar Garcia (MCP)" wrote in message
news:
sigue igual

ahora uso datepart en lugar de month, pero sale el mismo error


"Cesar Garcia (MCP)" escribió en el mensaje
news:
> Como estan todos.
>
> Les tengo una pregunta no relacionada con el Sql Server directamente


pero
es
> de transact Sql, asi que decidi postear aqui, espero que me puedan


ayudar.
>
> Estoy consultando un dbf con el Microsoft Query. Tengo 2 archivos dbf,


que
> vendrian a ser las tablas ordenes y clientes.
>
> Lo que quiero hacer es agrupar unas ordenes por el mes en que se
fabricaron,
> pero no tengo el dato como mes, sino como fecha, es decir para hacer el
> group by estoy haciendo algo como
>
> SELECT
> Centida.NOMENT,
> SUM(Acaorfa.CANTIDAD),
> Month(Acaorfa.FECEMB),
> SUM(Acaorfa.CANTIDAD * Acaorfa.PRECIO)
> FROM Acaorfa.dbf Acaorfa
> INNER JOIN Centida.dbf Centida ON
> Acaorfa.CODENT = Centida.CODENT
> WHERE (Acaorfa.ORDFAB Like '9%') AND
> (Acaorfa.FECEMI>{d '2004-05-31'})
>
> GROUP BY Centida.NOMENT, Month(Acaorfa.FECEMB)
>
> Donde Acaorfa es el archivo de las ordenes y Centida el de los clientes.
>
> El microsoft Query no me deja realizar esta consulta, me dice que no
> encuentra el campo NOMENT, pero obviamente el campo esta en la tabla y


es
el
> mismo nombre, pero cuando quito la parte de Month(...) no hay ningun
> problema, alguien sabe por que pasa eso????
>
> Saludos
>
>


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