¿Cómo agrupar ANDs y ORs?
2 seguidores
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!!
happywebcoder
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.
skuareisnext
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
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)
o
select from Proyectos where (asignados AND pendientes) OR publicados