Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-01-2006
Payola2011 Payola2011 is offline
Registrado
 
Registrado: ene 2006
Posts: 8
Poder: 0
Payola2011 Va por buen camino
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 .

Gracias por su atención y que tengan un lindo día .
Responder Con Cita
  #2  
Antiguo 31-01-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #3  
Antiguo 31-01-2006
Payola2011 Payola2011 is offline
Registrado
 
Registrado: ene 2006
Posts: 8
Poder: 0
Payola2011 Va por buen camino
Talking Gracias

Si, eso me temía pero no quería aceptarlo , muchas gracias por tu atención y k tengas un lindo día.
Responder Con Cita
  #4  
Antiguo 31-01-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #5  
Antiguo 31-01-2006
Payola2011 Payola2011 is offline
Registrado
 
Registrado: ene 2006
Posts: 8
Poder: 0
Payola2011 Va por buen camino
Red face 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.
Responder Con Cita
  #6  
Antiguo 31-01-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #7  
Antiguo 31-01-2006
Payola2011 Payola2011 is offline
Registrado
 
Registrado: ene 2006
Posts: 8
Poder: 0
Payola2011 Va por buen camino
¿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...
Responder Con Cita
  #8  
Antiguo 31-01-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Conste que dije:

Cita:
Empezado por roman
Soy de la idea, posiblemente equivocada
No tomes mis palabras como verdad absoluta

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
A component named XXXXX already exists.. al mostrar más de una ventana de reportes sitrico Impresión 6 16-01-2007 21:37:14
Excepciones Acker Tablas planas 6 06-08-2005 16:22:18
Listado de codigos de excepciones ADO Capo Conexión con bases de datos 5 12-05-2005 00:43:08
-502 Declared cursor already exists Carlitos Firebird e Interbase 4 30-09-2003 18:18:22


La franja horaria es GMT +2. Ahora son las 11:06:39.


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
Copyright 1996-2007 Club Delphi