Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Problema con consulta de SQL (https://www.clubdelphi.com/foros/showthread.php?t=50615)

mramos65 23-11-2007 01:06:18

Problema con consulta de SQL
 
Hola a todos:

Tengo una duda respecto a la siguiente consulta:

Código SQL [-]
SELECT SUM(DATOS.CANTIDAD)
FROM(
SELECT distinct(color),talla,count(talla) as cantidad
FROM invent.dbf
GROUP BY color, talla) AS DATOS




La cual he probado ejecutandola en el SQL Explorer y da perfecto, sin embargo la ejecuto mediante una consulta en delphi 7 con un TQuery y me da error:
Invalid use of keyword
token: SELECT
Line number: 3

que estoy haciendo mal?
Cualquier ayuda es bienvenida, SALUDOS

fox18 23-11-2007 02:24:50

Cita:

Empezado por mramos65 (Mensaje 247881)
Hola a todos:

Tengo una duda respecto a la siguiente consulta:

Código SQL [-]
SELECT SUM(DATOS.CANTIDAD)
FROM(
SELECT distinct(color),talla,count(talla) as cantidad
FROM invent.dbf
GROUP BY color, talla) AS DATOS




La cual he probado ejecutandola en el SQL Explorer y da perfecto, sin embargo la ejecuto mediante una consulta en delphi 7 con un TQuery y me da error:
Invalid use of keyword
token: SELECT
Line number: 3

que estoy haciendo mal?
Cualquier ayuda es bienvenida, SALUDOS

un error muy comun que he cometido es que al ingresar la sentencia sql en el tquerry lo metemos como un string, el problema es cuando tenemos que poner comilla ' para el inicio y finalización del string es probable que te falte alguna comilla'

basti 23-11-2007 12:53:26

No especificas la base de datos que usas. Supongo que accedes a ella a través del BDE (TQuery).

El BDE no acepta subconsultas dentro del FROM. Para arreglar esto, puedes ir al BDE Administrator y cambiar el parámetro SQLQUERYMODE de la base de datos que estás usando al valor SERVER. Esto hace que el BDE pase la consulta directamente al servidor, en vez de ser interpretada por el propio BDE.

jhonny 23-11-2007 14:45:34

Yo creo que es porque el motor que estas usando no acepta dicha consulta, por ejemplo... en FireBird 1.5 no es posible hacer dicha consulta, mientras que en FireBird 2.0 ya es posible.

mramos65 23-11-2007 17:35:08

Problema con consulta de SQL
 
Disculpen por no especificar, uso tablas DBF, he hecho la consulta de la siguiente forma y da correcto:

Código SQL [-]
SELECT distinct(color),talla,count(talla) as cantidad
FROM invent.dbf
GROUP BY color, talla
pero necesito despues sumar los totales por cantidad por eso agrego el otro select, o alguien tiene una sugerencia, tal vez hacerlo despues con otro query, pero no creo que se pueda hacer consulta sobre consulta, o si?


SALUDOS


La franja horaria es GMT +2. Ahora son las 21:47:10.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi