La siguiente consulta tiene un problema, quiero listar todos los registros que esten activos, que pertenezcan al centro de costo 300 y que su bloque sea diferente a 140, su familia diferente a 1 y su operacion diferente a 1, lo ejecuto y no salen registros ya que en el resultado que deberia darme, por lo menos uno de ellos coincide que su campo es el valor que discrimino, es mas, todos tiene la operacion con 1, por eso no aparece, supuestamente la consulta excluiria a todos menos a los que coincidan. Select tickets.OrdeTrab_codi, tickets.OrdCort_codi, tickets.Esti_codi, tickets.Surt_codi, tickets.Prendes_codi, tickets.colo_codi, tickets.tall_codi, tickets.paqu_codi, tickets.cant_paqu, tickets.tick_codi, tickets.tick_leid, tickets.Secu_Oper, tickets.Cenc_codi, tickets.Bloq_codi, tickets.Fami_codi, tickets.Oper_codi, tickets.Estu_codi, tickets.tick_Tstd, esti_desc, colo_desc, tall_desc, bloq_desc, oper_desc, cenc_desc from tickets inner join Estilos on Tickets.Esti_codi = Estilos.Esti_codi inner join bdcomun..Color color on color.colo_codi = tickets.colo_codi inner join bdcomun..tallas tallas on tallas.tall_codi = tickets.tall_codi inner join Bloques on bloques.cenc_codi = tickets.cenc_codi and bloques.bloq_codi = tickets.bloq_codi inner join Operaciones on operaciones.cenc_codi = tickets.cenc_codi and operaciones.bloq_codi = tickets.bloq_codi and operaciones.Fami_codi = tickets.Fami_codi and operaciones.oper_codi = tickets.Oper_codi inner join Cencos on cencos.cenc_codi = tickets.cenc_codi where Tick_Elim=0 and tickets.cant_paqu>0 and Tickets.OrdCort_codi = '04-004573' and Tickets.Cenc_codi = '300' and Tickets.Bloq_codi <> '140' and Tickets.Fami_codi <> '1' and Tickets.Oper_codi <> '1' Order by Tickets.Cenc_codi, Tickets.paqu_codi, Tickets.Secu_Bloq, Tickets.Secu_Oper Si cambio lo siguiente Tickets.Bloq_codi <> '140' and Tickets.Fami_codi <> '1' and Tickets.Oper_codi <> '1' por (Tickets.Bloq_codi <> '140' or Tickets.Fami_codi <> '1' or Tickets.Oper_codi <> '1') sale todo tal como quiero, pero el problema es parametrizar mi store,ya que este funciona de acuerdo a lo que deseo y cambia el <> por = o por un in ('140','120') digamos, porque no sale conlo incial si la logica dice que seleccione todo menos lo que sea totalmente diferente a lo parametrizado?. Muchas Gracias de antemano Jesus Aguilar
Que pasaria si usas: NOT ( Tickets.Bloq_codi = '140' and Tickets.Fami_codi = '1' and Tickets.Oper_codi = '1' ) en lugar de: Tickets.Bloq_codi <> '140' and Tickets.Fami_codi <> '1' and Tickets.Oper_codi <> '1' Tal vez sea mas facil de parametrizar. Cuando te piden distinto usas el = pero negas todo con NOT.