Estoy tratando de encontrar un error en una declaración masiva de SQL (no la mía) - Me han cortado muchos de ellos hacia fuera para que sea legible - incluso pelado abajo todavía arroja el errorSQL Duplicar nombre de la columna de error
SELECT DISTINCT Profiles.ID
FROM
(select * from Profiles RIGHT JOIN FriendList ON (FriendList.Profile = 15237)
order by LastLoggedIn DESC) as Profiles
Esto devuelve un error
nombre de columna duplicado 'ID'
he probado la última parte del (select * from Profiles ... order by LastLoggedIn DESC
) y funciona bien por sí mismo
He intentado solucionar problemas cambiando los nombres de las columnas en la sección DISTINCT sin suerte.
Una solución que leí fue eliminar el DISTINCT, pero eso no ayudó.
Simplemente no puedo ver de dónde puede venir el error de la columna duplicada. ¿Podría ser un problema de integridad de la base de datos?
Cualquier ayuda muy apreciada.
¿hay una columna de identificación en la tabla de perfiles que esté en conflicto con la columna de identificación de otra tabla? Está seleccionando todas las columnas, recomendaría reducir el número de columnas que seleccionan (cambiar * a los nombres de columna) y ver si eso soluciona su problema. – Robert
¿Podría ser que tanto la tabla 'Profiles' como la' FriendList' en su 'SELECT' interior tengan una columna' ID'? Así que básicamente tendría dos columnas, ambas llamadas 'ID' - y está seleccionando ** todo ** de esa' JOIN' - entonces 'ID' a qué se refiere cuando dice 'SELECT DISTINCT Profiles.ID .. ... '?!?!? –
marc_s & Robert - sí, eso es lo que está pasando. Adiviné mucho pero esto está más allá de mi comprensión de SQL. El problema es que la declaración SQL es MASIVA y está construida dinámicamente.Lo corté hasta los huesos para esta pregunta. Voy a devolvérselo a la persona ya que los efectos colaterales de meterse con esto o con el DB son demasiado horribles de considerar. – Steve