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

Un where dos condicionales

Estas en el tema de Un where dos condicionales en el foro de Bases de Datos General en Foros del Web. SELECT * FROM `drivers` WHERE (`drivers`.`desc`LIKE 'tal_driver' AND 'tal_driver_2' ) SELECT * FROM `drivers` WHERE (`drivers`.`desc`LIKE 'tal_driver', 'tal_driver_2' ) SELECT * FROM `drivers` WHERE (`drivers`.`desc`LIKE ...
  #1 (permalink)  
Antiguo 30/10/2003, 02:53
Avatar de futilidad  
Fecha de Ingreso: julio-2002
Mensajes: 388
Antigüedad: 21 años, 9 meses
Puntos: 0
Un where dos condicionales

SELECT * FROM `drivers` WHERE (`drivers`.`desc`LIKE 'tal_driver' AND 'tal_driver_2' )

SELECT * FROM `drivers` WHERE (`drivers`.`desc`LIKE 'tal_driver', 'tal_driver_2' )

SELECT * FROM `drivers` WHERE (`drivers`.`desc`LIKE tal_driver, tal_driver_2 )

En todas estas sentencias no ejecuta el
$row= mysql_fetch_array($result)
¿cual es la forma apropiada de hacer esto?
utilizo php...

:)

Gracias
  #2 (permalink)  
Antiguo 30/10/2003, 02:57
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Repasemos...

SELECT campo1,campo2,campo3 FROM tablas WHERE campo1 = 'valor1' AND (campo2 LIKE '%valor2%' OR campo3 < $valor3) ORDER BY campo1 DESC, campo2
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 02/11/2003, 15:36
Avatar de futilidad  
Fecha de Ingreso: julio-2002
Mensajes: 388
Antigüedad: 21 años, 9 meses
Puntos: 0
Lo que tengo duda es sobre el parentesis

SELECT * FROM tabla1, tabla2 Where (tabla1.campo_1 = tabla2.campo_2)

Where tabla1.campo1 = tabla2.campo2)

Cual es la diferencia?
aveces me ejecuta las consultas cuando lleban el parentesis y a veces no, ¿por que?
  #4 (permalink)  
Antiguo 02/11/2003, 15:50
Avatar de futilidad  
Fecha de Ingreso: julio-2002
Mensajes: 388
Antigüedad: 21 años, 9 meses
Puntos: 0
Mas especificp

En el script que estoy realizando en una tabla llamada: "controladores" guardo las caracteristicas sobre los controladores que poseo, tamaño, idioma etc, etc.

En otra tabla llamada "modelos_controlador" guardo una relacion entre el nombre del modelo y su controlador.

en la tabla "modelos_controlador" el campo "controlador" nos indica el o los nombres de los controladores que le corresponden
ejem: "modelo"->tal modelo; "controlador"->driv1, driv2, driv4;

el caso es que dentro de un script quiero recuperar el campo "controlador" de la tabla "modelo-controlador"
para escribir una sentencia condicional que me liste las caracteristicas de los controladores indicados

ejemplo

[PHP]
$modelo= "";

$sql1 = "SELECT * FROM "modelos_controlador" WHERE modelo LIKE ".$modelo."";


$sql2 = "SELECT * FROM "controladores" WHERE driver LIKE ".$row1[controlador]."";

me deberia quedar asi:
$sql2 = "SELECT * FROM "controladores" WHERE driver LIKE driv1, driv2";


El caso es que siempre toma solamente un driv de la lista y a los demas los ignora, y en el peor de los casos no realiza la consulta

Ojala me pudiesen ayudar

Gracias :)
  #5 (permalink)  
Antiguo 02/11/2003, 16:49
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
¿Probaste a quitar las ` del código anterior?
Código PHP:
SELECT FROM `driversWHERE (drivers.desc LIKE 'tal_driver' AND 'tal_driver_2' )

SELECT FROM `driversWHERE (drivers.desc LIKE 'tal_driver''tal_driver_2' )

SELECT FROM `driversWHERE (drivers.desc LIKE tal_drivertal_driver_2 
Aunque ahora que lo veo mejor... eso no me gusta, me va más esto otro:
Código PHP:
SELECT FROM `driversWHERE (drivers.desc LIKE 'tal_driver' OR drivers.desc LIKE 'tal_driver_2'
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.

Última edición por ferny; 02/11/2003 a las 16:52
  #6 (permalink)  
Antiguo 12/11/2003, 23:17
Avatar de futilidad  
Fecha de Ingreso: julio-2002
Mensajes: 388
Antigüedad: 21 años, 9 meses
Puntos: 0
jijij, error de planteamiento

lo que queria hacer es que me seleccionara todos los campos que dentro de una columna tuviesen los valores que yo quisiese

Esto se hace con "IN"

ejemplo:
Where poblacion IN (tijuana, momterrey, oaxaca)

en vez de :
WHERE (`poblacion`LIKE 'oaxaca' AND 'monterrey' )


me selecciona todos los que vivan en esas ciudades...

escribo esto por si alguien mas que tuvo esta confucion le sirva.

Última edición por futilidad; 12/11/2003 a las 23:18
  #7 (permalink)  
Antiguo 13/11/2003, 08:15
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
como ferny te dijo esto tambien se puede hacer on OR y no son necesarios los parentesis. Los parentesis son necesarios cuando, por logica, no da lo mismo que sin parentesis, es decir, hay que discriminar entre las condiciones. Obviamente es mas facil e intuitivo realizarlo (para este caso) con el operador IN.
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
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 09:31.