Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/12/2012, 07:22
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: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta de tres tablas

JOINs implícitos no son buena práctica, especialmente con muchos registros.
Por otro lado, esa subconsulta en el IN busca en la misma tabla que ya estás usando en la consulta base, por lo que bien puedes filtrar ese parámetro en la mayor.
Además de eso, no pones los alias en columnas que tienen el mismo nombre, por lo que luego tendrás problemas de acceso al dato obtenido, y usas palabras reservadas en las columnas, lo que es muy mala idea.
Una versión simplificada sería:
Código MySQL:
Ver original
  1.     a.ID AnotId,
  2.     a.code AnotCode,
  3.     f.dtype FolderDType,
  4.     f.VERSION FolderVersion,
  5.     f.entrydate FolderFAlta,
  6.     f.MESSAGE FolderMens,
  7.     f.transactionid FolderTrId,
  8.     f.folder_id FolderId,
  9.     f.user_id FolderUserId,
  10.     f.assignedto_id FolderAsignA,
  11.     u.username,
  12.     u.NAME UserNomb,
  13.     o.ID Org_id,
  14.     o.NAME OrgNonmb
  15.   FROM annotations a
  16.        INNER JOIN organizations o ON (a.organizationid = o.ID)
  17.        INNER JOIN folderlogh f ON (a.organizationid = f.organizationid AND a.ID = f.annotation_id AND o.ID = f.organizationid)
  18.        INNER JOIN users u ON (f.user_id = u.ID)
  19.        a.code = "1420-21312"
  20.    AND o.ID = "323ff240-61fa-451c-9bbc-809fd0fdeb0c";
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)