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 

Kommentarer

  • Udover aliasing af kolonner er en anden bedste praksis at navngive kolonner med en deskriptor ud over klassen, såsom CustomerID i stedet for bare ID.
  • ^ hvad Dan sagde, x1000. Du burde være i stand til at genkende en kolonneidentifikator som 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.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *