Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Duda con sentencia sql

Estas en el tema de Duda con sentencia sql en el foro de Mysql en Foros del Web. Hola Me gustaría saber si hay una manera de hacer una sql para optimizarla ya que no lo conseguí y tuve que hacerlo desde el ...
  #1 (permalink)  
Antiguo 04/03/2014, 09:38
 
Fecha de Ingreso: junio-2013
Ubicación: España
Mensajes: 23
Antigüedad: 10 años, 10 meses
Puntos: 1
Duda con sentencia sql

Hola
Me gustaría saber si hay una manera de hacer una sql para optimizarla ya que no lo conseguí y tuve que hacerlo desde el php, el problema es que haciéndolo desde el php al ser registros muy grandes se vuelve lento y si consiguiera hacerlo desde el mysql aumentaría considerablemente el rendimiento

Os explico tengo una tabla donde guardo x registros con su información y después tengo otra tabla que la uso para saber si he enviado esos registros a distintas web's y con que usuario los he enviado, es decir, guardo la clave primaria del registro, el usuario y la web (eso la segunda tabla).
El problema es que para extraer todos los registros que no han sido enviados tengo que comparar las dos tablas con el php y a mi me gustaría poder hacer esto desde el mysql con una sentencia
Vamos que lo que gustaría hacer resumiendo es extraer en una sentencia sql todos los registros que no estén en la otra

No se si me explicado bien

Gracias de antemano
Saludos
  #2 (permalink)  
Antiguo 04/03/2014, 10:33
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Duda con sentencia sql

Prueba con una subconsulta:
SELECT * FROM tabla1 WHERE id NOT IN (SELECT id FROM tabla2);

Te lo pongo en forma general porque no se los campos ni nada, espero que lo entiendas.
__________________
Dicen que las personas piensan en su lengua materna, yo lo hago en PHP
  #3 (permalink)  
Antiguo 04/03/2014, 11:00
 
Fecha de Ingreso: junio-2013
Ubicación: España
Mensajes: 23
Antigüedad: 10 años, 10 meses
Puntos: 1
Respuesta: Duda con sentencia sql

Mil gracias si funciona :)
Después me miro el código de nuevo y lo intento optimizar con la consulta
Yo lo había intentado haciendo una subconsulta pero con el distinct/!= pero eso no me funcionaba si había varios registros (tenia que ser solo uno)
Pues eso muchas gracias
Saludos
  #4 (permalink)  
Antiguo 04/03/2014, 12:50
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Duda con sentencia sql

Y todavía más eficiente sería la opción con LEFT JOIN
Código MySQL:
Ver original
  1. SELECT * FROM tabla1 LEFT JOIN tabla2 ON tabla1.id =tabla2.id WHERE tabla2.id IS NULL
  #5 (permalink)  
Antiguo 04/03/2014, 13:02
 
Fecha de Ingreso: junio-2013
Ubicación: España
Mensajes: 23
Antigüedad: 10 años, 10 meses
Puntos: 1
Respuesta: Duda con sentencia sql

Gracias pero join no lo toco casi nunca
Es mas eficiente y/o mas rápido? Creo que lo leí por aquí también alguna vez a lo mejor ya es hora que me lo mire

Etiquetas: sentencia, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:35.