Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Hacer que una consulta que muestra varias registro, solo me muestre uno

Estas en el tema de Hacer que una consulta que muestra varias registro, solo me muestre uno en el foro de Mysql en Foros del Web. Hola. Tengo una consulta mysql, dentro de esa consulta tengo una subconsulta, sabemos que una subconsulta solo debe mostrar un campo(1 sola columna con un ...
  #1 (permalink)  
Antiguo 28/01/2013, 11:49
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Ubicación: Medellin
Mensajes: 19
Antigüedad: 12 años, 6 meses
Puntos: 0
Hacer que una consulta que muestra varias registro, solo me muestre uno

Hola.
Tengo una consulta mysql, dentro de esa consulta tengo una subconsulta, sabemos que una subconsulta solo debe mostrar un campo(1 sola columna con un solo dato), pero hay la posibilidad de que en algun momento esa subconsulta va a mostrar varios campos, entonces la consulta en su totalidad va arrojar un error porque la subconsulta lanza mas de una fila, mi pregunta es si hay la posibilidad de que en una subconsulta que muestra varias filas o campos, me muestre uno solo, teniendo en cuenta que NO sirve el limit 1, ni el group by.
Muchas gracias.
  #2 (permalink)  
Antiguo 28/01/2013, 12:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Hacer que una consulta que muestra varias registro, solo me muestre uno

Creo que tu te refieres a este caso:
Código MySQL:
Ver original
  1. SELECT a, b, c
  2. FROM tabla
  3. WHERE d = (SELECT d FROM tabla2 WHERE ...)

O bien:
Código MySQL:
Ver original
  1. SELECT a, b, c
  2. FROM tabla
  3. WHERE d IN (SELECT d FROM tabla2 WHERE ...)
Y lo que quieres es que en ese WHERE se compare más de un campo al mismo tiempo con más de un campo devuelto por la subconsulta.
Algo como
Código MySQL:
Ver original
  1. SELECT a, b, c
  2. FROM tabla
  3. WHERE d, e, f = (subconsulta)
Algo como esto es técnicamente posible si se usa de este modo:
Código MySQL:
Ver original
  1. SELECT a, b, c
  2. FROM tabla
  3. WHERE (d, e, f) IN(SELECT d, e, f FROM tabla2 WHERE ...)
E incluso si es con un sólo registro de la subconsulta:
Código MySQL:
Ver original
  1. SELECT a, b, c
  2. FROM tabla
  3. WHERE (d, e, f) IN(SELECT d, e, f FROM tabla2 WHERE ... LIMIT 1)
Si no es esto, entonces necesitaría que postees la consulta como la estás usando, para estar seguro de qué es lo que realmente intentas lograr.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 28/01/2013, 16:16
 
Fecha de Ingreso: octubre-2012
Ubicación: Bogotá
Mensajes: 40
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: Hacer que una consulta que muestra varias registro, solo me muestre uno

Al final de la consulta le pones limit 1 y Listo
  #4 (permalink)  
Antiguo 05/02/2013, 11:04
(Desactivado)
 
Fecha de Ingreso: octubre-2011
Ubicación: Medellin
Mensajes: 19
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Hacer que una consulta que muestra varias registro, solo me muestre uno

Gracias por sus respuestas, pero el limit 1 no sirve en una subconsulta y lo que me dice gnzsoloyo es bueno pero no es lo que necesito, de todos modos ya encontré algo diferente para solucionar el problema.
Muchas gracias.

Etiquetas: select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:55.