La sentencia NOT IN no funciona

Preguntas RecientesCategoria: MySQLLa sentencia NOT IN no funciona
yeyo preguntada 1 año antes

tengo dos tablas en mi base, productos y productos_pedidos, en productos_pedidos le puse una  llave foránea  producto_id que apunta a la id primaria de productos. Tengo 200 productos y 120 ventas es decir 120 productos_pedidos.
Ahora hice una consulta para saber cuales productos se han vendido

 
select * from productos where id IN (select producto_id from productos_pedidos); 

y como resultado me da los 120 productos vendidos. Pero despues quiero hacer una consulta para saber que productos no se han vendido

 
select * from productos where id NOT IN (select producto_id from productos_pedidos); 

me deberían salir los 80 productos restantes, pero la consulta me da 0 como resultado. En donde esta mi error?

AcoemiaCrica contestada 1 mes antes

First things first, you’ll want to set a limited target date because you’ll completely quit, such as two or three weeks from now. Core maca through the supplier energetix is definitely an herb that tests quite nicely for a number of males.

3 Respuestas
Best Answer
snow Staff contestada 1 año antes

intenta esto

select * from productos where id NOT IN (select producto_id from productos_pedidos where productos_pedidos NOT NULL );

tal vez te de resultado cero porque tienes en productos_pedidos valores nulos

Duda resuelta contestada 10 meses antes

Efectivamente. El error es por esa razón. Deja los campos vacíos, NO los pongas NULL y FUNCIONA!!!!

fitorec contestada 1 año antes

En tu consulta 1:
select * from productos where id IN (
         select producto_id from productos_pedidos
); 
(más…)

fitorec contestada 1 año antes

En tu consulta 1:
select * from productos where id IN (
         select producto_id from productos_pedidos
); 
(más…)

Your Answer

5 + 3 =