Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Error en el Exists (https://www.clubdelphi.com/foros/showthread.php?t=29741)

Payola2011 31-01-2006 17:21:33

Error en el Exists
 
Buenos días, tengo un problema con la sintaxis de la función "Exists" para MySQL. Tengo un servidor MySQL versión 4.0.20 y estoy tratando de hacer una subconsulta con la siguiente sintaxis:

SELECT DISTINCT store_type FROM stores
WHERE EXISTS (SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type);

ya que encontré el ejemplo en la página de www.mysql. Si existen dichas tablas y campos en mi servidor y aun así me marca un error de sintaxis, el error es el 1064: Error de Sintaxis, y me dice que cheque la sintaxis para mi versión, sólo que viene el mismo ejemplo.

No se que estoy haciendo mal o si me falta algo :confused: .

Gracias por su atención y que tengan un lindo día :p .

roman 31-01-2006 17:41:24

Según entiendo de lo que leo en el manual, las subconsultas en MySql fueron posibles a partir de la versión 4.1, así que tendrías que actualizar.

// Saludos

Payola2011 31-01-2006 18:18:56

Gracias
 
Si, eso me temía pero no quería aceptarlo :mad: , muchas gracias por tu atención y k tengas un lindo día.

roman 31-01-2006 18:26:43

Y ¿no te serviría algo como

Código SQL [-]
select distinct stores.store_type from stores
left join cities_stores on cities_stores.store_type = stores.store_type
where cities_stores.store_type is not null

// Saludos

Payola2011 31-01-2006 18:46:28

Si me sirve
 
Gracias, de hecho si me sirve y lo voy a utilizar para salir ahorita del problema, de cualquier manera estoy evaluando actualizar el servidor ya que dicho servidor va a ser usado como "motor" de algunos sitemas importantes de la empresa. Apenas se están desarrollando dichas aplicaciones y para que batallar más delante. De hecho ya abrí otro tema con respecto a la actualización y es por ese motivo.

Has sido muy amable y muchísimas gracias por tu ayuda ya que me sacaste de una baraña que traía desde ayer en la cabeza.;)

roman 31-01-2006 18:52:29

Cita:

Empezado por Payola2011
lo voy a utilizar para salir ahorita del problema

Soy de la idea, posiblemente equivocada, de evitar las subconsultas a no ser que sea estrictamente necesario. Es decir, en este caso, aún disponiendo de ellas yo preferiría los joins. Siempre he sentido que las subconsultas son más lentas.

// Saludos

Payola2011 31-01-2006 19:07:53

¿Se reduce el "performance" de la consulta cuando contiene una subconsulta a comparación con un "join"?

La verdad suena lógico y lo tomaré en cuenta... lo que pasa es que a veces con las subconsultas y tablas temporales me ahorro los "While" porque los aborrezco :( jajaja porque me generan mucho tráfico. Pero la verdad tienes razón y voy a tratar de evitarlas... :D

roman 31-01-2006 19:17:47

Conste que dije:

Cita:

Empezado por roman
Soy de la idea, posiblemente equivocada

No tomes mis palabras como verdad absoluta ;)

// Saludos


La franja horaria es GMT +2. Ahora son las 12:48:12.

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