Foros del Web » Programando para Internet » PHP »

consulta

Estas en el tema de consulta en el foro de PHP en Foros del Web. hola amigos tengo una duda en una tabla tengo los siguientes valores campo1 campo2 campo3 1 1 100 1 2 200 1 3 300 2 ...
  #1 (permalink)  
Antiguo 26/11/2002, 15:36
 
Fecha de Ingreso: agosto-2002
Mensajes: 301
Antigüedad: 15 años, 4 meses
Puntos: 2
consulta

hola amigos tengo una duda en una tabla tengo los siguientes valores
campo1 campo2 campo3
1 1 100
1 2 200
1 3 300

2 1 0
2 2 400
2 3 500

3 1 0
3 2 0
3 3 600

....
5000

la consulta la hago asi "select campo3 from tabla where campo1='$menu1' and
campo2='$menu2' hasta ahi ningun problema, mi problema esta cuando hago un or de
esta manera "or campo2='$menu1' and campo1='$menu2'"
Lo que no puedo es mostrar el valor que hay en 2 y 1 (es cero porque es el
mismo valor que hay en 1 y 2) lo que quiero hacer es invertir la consulta para nostrar asi el valor 2 y 1 pero no
me resulta . espero haberme explicado
gracias
  #2 (permalink)  
Antiguo 26/11/2002, 15:43
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Te fallan los parentesis. Tu lo que quieres es mostrar los registros que cumplen la condicion 1 o la condicion 2. Pues es (condicion 1) or (condicion 2). En tu caso:

select campo3 from tabla where (campo1='$menu1' and
campo2='$menu2') or (campo2='$menu1' and campo1='$menu2')

Porque condicion 1 es:

campo1='$menu1' and
campo2='$menu2'

y condicion 2:

campo2='$menu1' and campo1='$menu2'

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 26/11/2002, 16:21
 
Fecha de Ingreso: agosto-2002
Mensajes: 301
Antigüedad: 15 años, 4 meses
Puntos: 2
gracias por responder josemi, te cuento la idea completa lo quiero hacer es un cuadro de distancia entre regiones
ej:
La distancia entre :

arica y arica 0 km

arica e iquique 144 km

arica y tocopilla 200

iquique e iquique 0 km

iquique y arica (aqui se repite el mismo valor para eso la consulta que quiero hacer)

iquique y tocopilla 270 km

y asi creo que es inneseasrio repetir el valor n veces

la consulta original es asi igual a la que tu me diste
"select km from distancia where (desde='$menu1' and hasta='$menu2') or (hasta='$menu1' and desde='$menu2')");
pero no funca

gracias
  #4 (permalink)  
Antiguo 26/11/2002, 16:36
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Lo habia entendido mal. Lo que pasa el que la consulta te devuelve los 2 registros, el 1 2 y el 2 1. Si el valor por defecto es 0 y ese valor no es valido, es decir, solo aparece en los registros repetidos, puedes probar con:

select km from distancia where km<>0 and ((desde='$menu1' and hasta='$menu2') or (hasta='$menu1' and desde='$menu2'))

Eso si, recuerda que si 0 km es una distancia valida entre dos ciudades, cuando consultes por la distancia entre esas dos ciudades no te devolvera ningun registro.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 26/11/2002, 17:38
 
Fecha de Ingreso: agosto-2002
Mensajes: 301
Antigüedad: 15 años, 4 meses
Puntos: 2
gracias josemi funciona bien con respecto a lo otro encontrare una forma para solucionarlo

Gracias
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 20:20.