Ver Mensaje Individual
  #8 (permalink)  
Antiguo 15/07/2013, 16:39
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: agrupar consulta y mostrar el id mayor del group by

Cita:
Operand should contain 1 column(s)
Tienes que aprender a interpretar el inglés técnico.
Cita:
El operando debe contener una columna
Código MySQL:
Ver original
  1. AND ID NOT IN (SELECT tipo_producto, nombre FROM catalogo_productos
  2.         WHERE tipo_producto ='servicio'
  3.         AND ID!='000022')
Estás comparando una única columna contra dos...
¿Para que pones la de nombre?

Mas allá de eso, estás haciendo una consulta demasiado complicada para estar dando vueltas alrededor de una misma tabla, en la que, además, estás aplicando condiciones de negación de negación, que en algebra booleana implica afirmación.
Si simplifico tu consulta y aplico las condiciones a la misma, esto sería su equivalente:
Código MySQL:
Ver original
  1.     `Catalogo_Producto_Id` `ID`,
  2.     `tipo_producto` `Nombre`,
  3.     `Modelo`,
  4.     `Precio`
  5.     `catalogo_productos`
  6.     `Estatus_Salida` = 'No'
  7.     AND `tipo_producto` != 'servicio'
  8.     # AND `Catalogo_Producto_Id` != '000022' <- Esta es la negacion original
  9.     AND `Modelo` LIKE CONCAT('%', 'n', '%')
  10. GROUP BY `modelo`
  11. ORDER BY `nombre``;

La tercera condición, para poner lo que correspondería a la negación negada, sería:
Código MySQL:
Ver original
  1.     `Catalogo_Producto_Id` `ID`,
  2.     `tipo_producto` `Nombre`,
  3.     `Modelo`,
  4.     `Precio`
  5.     `catalogo_productos`
  6.     `Estatus_Salida` = 'No'
  7.     AND `tipo_producto` != 'servicio'
  8.     AND `Catalogo_Producto_Id` = '000022' # la negación negada es igual a la afirmación
  9.     AND `Modelo` LIKE CONCAT('%', 'n', '%')
  10. GROUP BY `modelo`
  11. ORDER BY `nombre``;

Creo que deberías aclarar mejor las condiciones de la consulta.
Te recomiendo que tomes un papel y escribas una a una las condiciones que SI debe cumplir el resultado, y luego trata de escribir una consulta por afirmación. Compara el resultado con la que te propongo y dime qué diferencias encuentras.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 15/07/2013 a las 16:51