🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #3921

Re: Consulta SQL ODBC: función YEAR en un Group By?

#3921
From: gato2002
Date: Sat, 08 May 2004 00:46
66 lines
3643 bytes
La estructura de las tablas?

Juan Guillermo Fern�ndez V. escribi�:

> Hola gente de mundo....
> 
> Necesito, una vez m�s, de la infinita sabidur�a de el ciberdespacio, que
> siempre han sido tan generosos en prodigarme.
> 
> Ocurre que me encuentro migrando unas bases de datos desde Visual FoxPro a
> MySQL, en un proceso que debe repetirse autom�gicamente todas las noches asi
> que no es "evento de una sola vez", como pa' que me sugieran soluciones
> manuales alternativas....
> 
> La cosa es que estoy haciendo, v�a ODB, el siguiente QUERY:
> 
> 'SELECT cod_art, fecha AS mesyso, cantidad, tipodoc,
>                 IIf(tipodoc=10,(-1 * cantidad),cantidad) AS cantidad2,
>                 Year(fecha) AS ano, Month(fecha) AS mes
>    FROM docu_db LEFT JOIN docde_db ON numreg = numrecor
> 
> GROUP BY cod_art, Year(fecha), Month(fecha)
>  HAVING (tipodoc=8)
>      OR (tipodoc=10);
> 
> Sin embargo, el sistema me responde -en su infinita sabidur�a- que:
> 
> SQL error: [Microsoft][ODBC Visual FoxPro Driver]
> SQL: Column 'COD_ART' is not found., SQL state S0022 in SQLExecDirect
> 
> Ahora, si remuevo las clausulas Year(fecha), Month(fecha), o las reemplazo
> por una columna propiamente tal (como fecha a secas) funciona bonito. Pero
> si las "ALIASo", o sea, las llamo (en el Group By) como Year(fecha) AS ano,
> Month(fecha) AS mes, me retorna un hermoso:
> 
> SQL error: [Microsoft][ODBC Visual FoxPro Driver]
> Command contains unrecognized phrase/keyword., SQL state 37000 in
> SQLExecDirect
> 
> La cosa es que necesito agrupar los resultados de esa forma: cod_art, A�o y
> Mes, en ese orden; y A�o y Mes deben ser extra�dos de la columna fecha.
> 
> �Alguna idea de c�mo meter estas funciones en el group by ofrecido por SQL
> ODBC?
> 
> Otros problemas adicionales que tengo son:
> 
> Debo convertir una fecha '2004-05-07' en '2004-05-01'. Lo habr�a hecho
> Year(fecha)+Month(fecha)+'01'; pero no consigo encontrar el concatenador de
> Strings pa' este SQL. S�lo me top� con el engorroso concat(str1,str2), que
> deber�a anidar horriblemente pa' conseguir el mismo efecto, y a�n as� no me
> funciona :S
> 
> �Alguna alternativa?
> 
> Y por �ltimo, �cu�l ser�a, para los entendidos, el c�figo para:
> 
> -Crear tablas temporales
> -Hacer subqueries
> 
> S�lo eso. Muchas gracias a quien pueda ofreecerme una tablita.... pa' este
> naufrago... con el jefe al hombro :S
> 
> �Gracias!
> 
> 
Technical Details
Message-ID: <c7haof$877$1@news1.nivel5.cl>
Path: arc1-ca.pugleaf.net!controlnews3.google.com!news1.google.com!news.glorb.com!nntp-server.pubsub.com!news1.nivel5.cl!not-for-mail
References: <c7g8ha$ugi$1@news1.nivel5.cl>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,CP1252
X-Google-Thread: 1593cb,369bdeface6a40b8
X-Google-Thread: fad43,8f626da355161977
X-Google-Attributes: gid1593cb,gidfad43,public
Path: arc1-ca.pugleaf.net!controlnews3.google.com!news1.google.com!news.glorb.com!nntp-server.pubsub.com!news1.nivel5.cl!not-for-mail
From: gato2002 <gato2002SINESTO@vtr.net>
Newsgroups: chile.comp.programacion,chile.comp.www
Subject: Re: Consulta SQL ODBC: función YEAR en un Group By?
Date: Fri, 07 May 2004 20:46:38 -0400
Organization: Varios
Lines: 66
Message-ID: <c7haof$877$1@news1.nivel5.cl>
References: <c7g8ha$ugi$1@news1.nivel5.cl>
NNTP-Posting-Host: cm64-mapu1-141-94.cm.vtr.net
Mime-Version: 1.0
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news1.nivel5.cl 1083977295 8423 200.86.141.94 (8 May 2004 00:48:15 GMT)
X-Complaints-To: news@news1.nivel5.cl
NNTP-Posting-Date: Sat, 8 May 2004 00:48:15 +0000 (UTC)
User-Agent: Mozilla Thunderbird 0.5 (Windows/20040207)
X-Accept-Language: es-es, es
In-Reply-To: <c7g8ha$ugi$1@news1.nivel5.cl>