Lukket. Dette spørgsmål er uden for emnet . Det accepteres i øjeblikket ikke svar.
Svar
Fejlen henviser til “id” i første linje i din forespørgsel. SQL Server ved ikke, om du henviser til tbldata.id eller tblimg.id.
Det er god praksis at altid bruge et alias, så ændringer i tabelskemaer er mindre tilbøjelige til at bryde din forespørgsel:
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 hvad den repræsenterer, uanset hvor du finder den i skemaet eller i en forespørgsel. Nogle vil argumentere for det ' er overflødig i sin egen tabel, men du ' forsøger sjældent at finde ud af, hvad det er, når du ' bare kigger ved bordet isoleret. Konsistens er vigtigere end at undgå redundans IMHO.