Sto cercando di trovare un errore in una dichiarazione massiccia SQL (non mia) - ho tagliato un sacco di fuori per renderlo leggibile - anche abita in fondo si getta ancora l'erroreSQL duplicato nome della colonna errore
SELECT DISTINCT Profiles.ID
FROM
(select * from Profiles RIGHT JOIN FriendList ON (FriendList.Profile = 15237)
order by LastLoggedIn DESC) as Profiles
Questo restituisce un errore
Duplica nome della colonna 'ID'
ho testato l'ultima parte (select * from Profiles ... order by LastLoggedIn DESC
) e funziona bene da solo
Ho provato a risolvere i problemi cambiando i nomi delle colonne nella sezione DISTINCT senza alcuna fortuna.
Una soluzione che ho letto è stata rimuovere il DISTINCT, ma ciò non ha aiutato.
Non riesco a vedere da dove provenga l'errore della colonna duplicata. Potrebbe essere un problema di integrità del database?
Qualsiasi aiuto molto apprezzato.
c'è una colonna id nella tabella dei profili che è in conflitto con la colonna id di un'altra tabella? Stai selezionando tutte le colonne, ti consiglio di ridurre il numero di colonne che selezionano (cambia * in nomi di colonne) e vedi se questo risolve il tuo problema. – Robert
Potrebbe essere che sia la tabella 'Profili 'che la tabella' FriendList' nel 'SELECT' interno abbiano una colonna' ID' ?? Quindi avresti fondamentalmente due colonne, entrambe chiamate 'ID' - e stai selezionando ** tutto ** da quel' JOIN' - quindi a cui ti riferisci 'ID' quando dici' SELECT DISTINCT Profiles.ID .. ... '?!?!? –
marc_s & Robert - sì, questo è quello che sta succedendo. Ho indovinato tanto ma questo è appena oltre la mia comprensione SQL. Il problema è che l'istruzione SQL è MASSIVE e viene creata dinamicamente.L'ho tagliato alle ossa nude per questa domanda. Ho intenzione di lanciarlo di nuovo alla persona come gli effetti a catena di incasinare questo o il db sono troppo orribili da contemplare. – Steve