Cita:
Iniciado por juanla Me alegro que lo solucionaras, si te quedo la duda
Código SQL:
Ver originalSELECT REF_COCINA FROM COMPRAR WHERE DNI_CLIENTE LIKE (SELECT DNI FROM CLIENTE) ;
SELECT REF_COCINA FROM COMPRAR WHERE DNI_CLIENTE IN (SELECT DNI FROM CLIENTE) ;
IN sirve para buscar más de un resultado, tenlo en cuenta, "=" haría el mismo efecto que like en tu caso pero la consulta con IN consumirá mucho más (para hacer software hay que tenerlo en cuenta) te digo esto para que lo tengas más claro y queda mejor usar = o like siempre que puedas ;) mejor que los in.
PD: Solo quería explicarte que son comparadores distintos, ya se que te respondieron
Juanla... si no estoy mal, el problema de plantala era que el campo a comparar, debía hacerlo ante múltiples valores y esto no es posible ni con el operador like ni =, ya que se viola la estructura cartesiana de la tabla al tener un numero de registros superior a 1 haciendo imposible comparar de este modo con un conjunto de registros.
El operador IN tiene el mismo comportamiento que si se hiciesen múltiples comparaciones con OR. Por eso en este caso, creo que es necesario.
saludos