Foros Programación Servidor
¿Cómo agrupar ANDs y ORs?
3 3 Respuestas Miércoles 30 de septiembre, 2009
Mi pregunta es sobre agrupar ANDs y ORs...
Tengo una tabla con proyectos y dos características a ellos, que son divisibilidad y estado... Los hay divisibles y no divisibles, y respecto a estado están disponibles, asignados, finalizados y publicados...
Cómo puedo hacer un mysql_query en el que obtenga...
Todos los divisibles y sólo los disponibles que no son divisibles?
graaaaacias!!
Tengo una tabla con proyectos y dos características a ellos, que son divisibilidad y estado... Los hay divisibles y no divisibles, y respecto a estado están disponibles, asignados, finalizados y publicados...
Cómo puedo hacer un mysql_query en el que obtenga...
Todos los divisibles y sólo los disponibles que no son divisibles?
graaaaacias!!
-
happywebcoder
Registrado desde 19/03/07 / Número de posts: 350
Si lo he entendido bien te bastaría con un único OR:select from Proyectos where divisibles or disponibles
y no sería necesario un (disponibles AND NOT divisibles) ya que los disponibles que son divisibles los vas a obtener igualmente con la primera condición.Moderador en Domestika.org | Freelance web developer -
skuareisnext
Registrado desde 27/05/04 / Número de posts: 70
gracias! lo pude hacer! me queda la duda de si se pueden agrupar ands y ors entre paréntesis, pero lo resolví de todas formas -
happywebcoder
Registrado desde 19/03/07 / Número de posts: 350
Se pueden agrupar, de hecho lo más recomendable cuando combinas varios operadores en una consulta es usar siempre paréntesis para dejar claro el orden en el que los aplicas de forma visual.
Si por ejemplo usas esta consulta:select from Proyectos where asignados AND pendientes OR publicados
no queda del todo claro qué operador aplicas antes, es mejor indicarlo de forma explícita con paréntesis.
La consulta será una de estas, en función de lo que quieres obtener:select from Proyectos where asignados AND (pendientes OR publicados)
oselect from Proyectos where (asignados AND pendientes) OR publicadosModerador en Domestika.org | Freelance web developer
Áreas Domestika
- Diseño (gráfico, web, industrial, producto)
- Programación (cliente, servidor, accesibilidad)
- Ilustración (autores, inspiración, técnicas)
- Fotografía (técnica, equipo, autores)
- Motion Graphics (showreels, software, estudios)
- Publicidad (campañas, anuncios, ideas)
- Informática (software, hardware, trucos)
- 3D (técnicas, iluminación, modelado)
- Experiencia de Usuario (usabilidad, AI, HCI)
- Cine, vídeo y televisión (críticas, producción)
- Música y Audio (sonidos, loops, discos)
- Espacios (arquitectura, interiorismo)