Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/05/2013, 19:17
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 obtener el nombre segun id

Bueno, esperaba que te dieses cuenta que debías usar JOIN, pero veo que no pasó...

Si querer desmerecer tu esfuerzo, loable, el problema que te enfrentabas era de manual. La respuesta la podías encontrar en cualquier manual básico de SQL, el manual de MySQL, usando Google, e incluso en el post de documentación al inicio del foro ( Common MySQL Queries, )

En realidad la solución correcta sería:
Código MySQL:
Ver original
  1.     A.id IdArticulo,
  2.     A.nombre NombreArticulo,
  3.     C.nombre Categoria,
  4.     A.codigo,
  5.     A.costo,
  6.     A.marca,
  7.     A.imagen
  8. from items A INNER JOIN categorias C ON A.id_categoria = C.id
  9.     A.id_categoria=1
  10. order by A.id, A.nombre
Nunca es buena idea poner una subconsulta en el SELECT porque esa subconsulta se ejecutará una vez por cada registro devuelto en la consulta mayor, lo que en la mayoría de los casos generará una baja (incluso catastrófica) de performance.
Sólo se debe usar si no existe otra alternativa. Nada más.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)