Stengt. Dette spørsmålet er utenfor emnet . Det aksepteres for øyeblikket ikke svar.
Svar
Feilen refererer til «id» i første linje i spørringen. SQL Server vet ikke om du refererer til tbldata.id eller tblimg.id.
Det er god praksis å alltid bruke et alias, slik at endringer i tabellskjemaer er mindre sannsynlig å bryte spørringen din:
SELECT TOP 6 td.id FROM dbo.tbldata td RIGHT JOIN tblimg ti ON td.id = ti.newsid ORDER BY createdDate DESC
CustomerID
i stedet for bareID
.ID
som det den representerer, uansett hvor du finner den i skjemaet eller i et spørsmål. Noen vil hevde det ' er overflødig i sin egen tabell, men du ' prøver sjelden å finne ut hva det er når du ' bare ser ved bordet isolert. Konsistens er viktigere enn å unngå redundans IMHO.