Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/04/2016, 06:45
ZedGe1505
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 13 años, 7 meses
Puntos: 15
Respuesta: Consulta MYSQL compleja

Suponiendo que tienes
Código MySQL:
Ver original
  1. CREATE TABLE fcart001
  2. (
  3. ACODAR int,
  4. ARESNUM4 int
  5. );
  6.  
  7. CREATE TABLE fcalt001
  8. (
  9. SCOD int,
  10. SART int
  11. );
  12.  
  13. INSERT INTO fcart001 VALUES (1, 2);
  14. INSERT INTO fcart001 VALUES (2, 2);
  15. INSERT INTO fcart001 VALUES (3, 2);
  16. INSERT INTO fcart001 VALUES (4, 1);
  17. INSERT INTO fcart001 VALUES (5, 1);
  18. INSERT INTO fcart001 VALUES (6, 1);
  19. INSERT INTO fcart001 VALUES (7, 3);
  20. INSERT INTO fcart001 VALUES (8, 3);
  21. INSERT INTO fcart001 VALUES (9, 3);
  22. INSERT INTO fcart001 VALUES (10, 4);
  23.  
  24.  
  25. INSERT INTO fcalt001 VALUES (1, 1);
  26. INSERT INTO fcalt001 VALUES (3, 2);
  27. INSERT INTO fcalt001 VALUES (3, 3);
  28. INSERT INTO fcalt001 VALUES (1, 4);
  29. INSERT INTO fcalt001 VALUES (3, 5);
  30. INSERT INTO fcalt001 VALUES (2, 6);
  31. INSERT INTO fcalt001 VALUES (1, 7);
  32. INSERT INTO fcalt001 VALUES (3, 8);
  33. INSERT INTO fcalt001 VALUES (2, 9);
  34. INSERT INTO fcalt001 VALUES (1, 10);


La query (si no me equivoco ya que me he mareado xD)

Código SQL:
Ver original
  1. SELECT * FROM fcart001, fcalt001
  2. WHERE ARESNUM4 = 3 AND fcart001.ACODAR = fcalt001.SART
  3. AND fcalt001.SCOD NOT IN (
  4. SELECT scod FROM fcart001, fcalt001  
  5. WHERE ARESNUM4 = 2 AND fcart001.ACODAR = fcalt001.SART
  6. )


Ahora lo que no entiendo es que has dicho que "(rl producto 2 seria la altrenativa del 3 y del 4 y viceversa)." El producto 2 no es alternativa del 3 y del 1???