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 

Kommentarer

  • Foruten aliasing av kolonner, er en annen best praksis å navngi kolonner med en deskriptor i tillegg til klassen, for eksempel CustomerID i stedet for bare ID.
  • ^ hva Dan sa, x1000. Du burde være i stand til å gjenkjenne en kolonneidentifikator som 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.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *