Hola SoftWeb, no he podido responderte antes porque despues de enviarte mi respuesta no me volvi a conectar al foro hasta hoy día.
Sobre tu pregunta, el error es porque no le estas dando un alias a tu tabla dbo.titulo_autor dentro la subconsulta, la que tiene el alias T es la subconsulta que esta dentro de los paréntesis.
Código SQL
[-]
INNER JOIN (SELECT Min(AUTORES_CODIGO) as AUTORES_CODIGO, TITULOS_CODIGO
FROM TITULO_AUTOR GROUP BY TITULOS_CODIGO) T ON A.CODIGO=T.TITULOS_CODIGO
Otro error es que estas utilizando el Alias U dentro de la subconsulta que tampoco existe, sino que esta fuera en el otro inner join
Cita:
Empezado por Softweb
Código SQL [-]
INNER JOIN (SELECT Min(U.AUTORES_CODIGO) as AUTORES_CODIGO, T.TITULO_AUTOR_TITULOS_CODIGO
FROM dbo.TITULO_AUTOR GROUP BY T.TITULO_AUTOR_TITULOS_CODIGO) T ON A.ARTICULOS_CODIGO=T.TITULO_AUTOR_TITULOS_CODIGO
INNER JOIN dbo.AUTORES U ON T.TITULO_AUTOR_AUTORES_CODIGO=U.AUTORES_CODIGO
|
No te olvides que el campo U.AUTORES_CODIGO osea solo AUTORES_CODIGO debe pertenecer a tu tabla TITULO_AUTOR que en si es el campo que se relaciona con tu tabla AUTORES. Tu consulta debería quedar así:
Código SQL
[-]
SELECT A.CODIGO, A.NOMBRE_ARTICULO, A.CODIGO_EAN, U.AUTORES_NOMBRE
FROM dbo.ARTICULOS A
INNER JOIN (SELECT Min(TITULO_AUTOR_AUTORES_CODIGO) as TITULO_AUTOR_AUTORES_CODIGO, TITULO_AUTOR_TITULOS_CODIGO
FROM dbo.TITULO_AUTOR GROUP BY TITULO_AUTOR_TITULOS_CODIGO) T ON A.ARTICULOS_CODIGO=T.TITULO_AUTOR_TITULOS_CODIGO
INNER JOIN dbo.AUTORES U ON T.TITULO_AUTOR_AUTORES_CODIGO=U.AUTORES_CODIGO
Saluditos