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

Como muestro dos filas con una sola consulta

Estas en el tema de Como muestro dos filas con una sola consulta en el foro de Mysql en Foros del Web. Como puedo filtrar dos filas en una base de datos mysql en una sola consulta. quiero que me muestre españa y francia, pero solo consigo ...
  #1 (permalink)  
Antiguo 25/06/2009, 20:35
 
Fecha de Ingreso: agosto-2008
Mensajes: 587
Antigüedad: 15 años, 8 meses
Puntos: 6
Como muestro dos filas con una sola consulta




Como puedo filtrar dos filas en una base de datos mysql en una sola consulta.

quiero que me muestre españa y francia, pero solo consigo que muestre solo una fila, que tengo que hacer ?


Código PHP:
select idpaises from tabla where paises='españa' 
Saludos
  #2 (permalink)  
Antiguo 25/06/2009, 21:58
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Como muestro dos filas con una sola consulta

Código sql:
Ver original
  1. SELECT id, paises FROM tabla WHERE paises='españa' OR paises='francia';

Es lo que necesitas?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 26/06/2009 a las 05:25
  #3 (permalink)  
Antiguo 26/06/2009, 00:38
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Como muestro dos filas con una sola consulta

nuestro huesos52 se ha dejado llevar por ese "falso amigo" que es "y" en español para estos casos: diríamos "España y Francia", pero en un mismo registro, tal y como tú tienes los campos- no pueden estar ambas y la base busca por registro. Para lo que quieres tienes dos opciones que hacen lo mismo.

SELECT id, paises FROM tabla WHERE paises='España' OR paises='Francia';
o esta otra
SELECT id, paises FROM tabla WHERE paises IN ('España', 'Francia')
  #4 (permalink)  
Antiguo 26/06/2009, 05:25
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Como muestro dos filas con una sola consulta

jajajaja si jurena, tienes razón.
Es un falso amigo.

Un saludo jurena.

EDITO: Acabo de modificar la respuesta.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 26/06/2009, 19:30
 
Fecha de Ingreso: agosto-2008
Mensajes: 587
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Como muestro dos filas con una sola consulta

Cita:
Iniciado por jurena Ver Mensaje
nuestro huesos52 se ha dejado llevar por ese "falso amigo" que es "y" en español para estos casos: diríamos "España y Francia", pero en un mismo registro, tal y como tú tienes los campos- no pueden estar ambas y la base busca por registro. Para lo que quieres tienes dos opciones que hacen lo mismo.

SELECT id, paises FROM tabla WHERE paises='España' OR paises='Francia';
o esta otra
SELECT id, paises FROM tabla WHERE paises IN ('España', 'Francia')
muchas gracias a ambos, funciona perfecto.
  #6 (permalink)  
Antiguo 30/06/2009, 13:22
 
Fecha de Ingreso: junio-2009
Mensajes: 6
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como muestro dos filas con una sola consulta

Hay alguna manera de poder hacer que se utilice un AND en vez del OR implicito que tiene el IN?
  #7 (permalink)  
Antiguo 30/06/2009, 13:25
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Como muestro dos filas con una sola consulta

No entiendo komodojoe

Explicate un poco mejor.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #8 (permalink)  
Antiguo 30/06/2009, 13:33
 
Fecha de Ingreso: junio-2009
Mensajes: 6
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como muestro dos filas con una sola consulta

A ver...

Si yo tengo una tabla en donde almaceno varios registros, y estos de identifican por una categoria y por un tipo, yo puedo hacer una búsqueda por una categoria en particular, pero esta puede tener asociado un valor para cada tipo (llamados Tipo_1 y Tipo_2), es un ejemplo con 4 regirtos para hacerlo práctico

El registro A tiene asociado el Tipo_1=1 y el Tipo_2=1
El registro B tiene asociado el Tipo_1=2 y el Tipo_2=2
El registro C tiene asociado el Tipo_1=1 y el Tipo_2=1
El registro D tiene asociado el Tipo_1=3 y el Tipo_2=1

Si yo quiero buscar por Tipo_1 = 1 y Tipo_2=1 deberia traer 2 registros ya que eso es lo que uno le indica en el buscador, aun asi me retorna 3 registros, y es porq el IN se comporta como un OR, no se si eso se podrá hacer, por eso lo pregunto.

where tipo IN (1,1)

P.D: El tipo es uno solo, solo q puede tomar varios valores

Última edición por Komodojoe; 30/06/2009 a las 13:39
  #9 (permalink)  
Antiguo 30/06/2009, 14:12
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Como muestro dos filas con una sola consulta

Es que en ese caso es AND
SELECT campo1, campo2 FROM tabla WHERE Tipo_1=1 AND Tipo_2 = 1

pero esto es con dos campos de un mismo registro. ¿Tienes en esa tabla dos campos distintos, tipo_1 y tipo_2?
Si no es así, sino que tienes sólo id, tipo y repites id con tipo valor 1, en un caso; y 2, en otro. Para esos casos
SELECT id, COUNT(DISTINCT tipo) total FROM tabla WHERE tipo IN (1,2) GROUP BY id HAVING COUNT(DISTINCT tipo) = 2

Última edición por jurena; 30/06/2009 a las 14:18
  #10 (permalink)  
Antiguo 30/06/2009, 14:29
 
Fecha de Ingreso: junio-2009
Mensajes: 6
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como muestro dos filas con una sola consulta

Si, efectivamente es así, bueno ya lo solucione una parte con el ejemplo de este post:

forosdelweb.com/f86/select-where-w-1-f-695970/#post2897461

Ahora lo que no es es si se puede anidar otra columna a la condición para verificar si esta existe al momento de buscar, ya que el combo de opciones del formulario de búsqueda para el tipo su 'value' esta armado asi (tipo-valor), y habría que buscar también por su valor, ya que por el tipo se busco primeramente, ya lo de la separación de valores esta hecho y el SP recibe los paramtros de manera correcta y todo lo demás, solo que ahora me falta que también busque por el valor en caso de que lo tenga, sino no lo toma en cuenta al momento de buscar.

Gracias de todas maneras xD!!

Saludos
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 19:27.