<åt sidan class = "s-notice s-notice__info js-post-notice mb16" role = "status">

Stängd. Denna fråga är utanför ämnet . För närvarande accepteras inte svar.

Svar

Felet hänvisar till ”id” i den första raden i din fråga. SQL Server vet inte om du hänvisar till tbldata.id eller tblimg.id.

Det är bra att alltid använda ett alias så att ändringar i tabellschema är mindre benägna att bryta din fråga:

SELECT TOP 6 td.id FROM dbo.tbldata td RIGHT JOIN tblimg ti ON td.id = ti.newsid ORDER BY createdDate DESC 

Kommentarer

  • Förutom aliasing av kolumner är en annan bästa metod att namnge kolumner med en deskriptor utöver klassen, till exempel CustomerID istället för bara ID.
  • ^ vad Dan sa, x1000. Du borde vara kan känna igen en kolumnidentifierare som ID som vad den representerar, oavsett var du hittar den i schemat eller i en fråga. Vissa skulle hävda det ' är överflödig i sin egen tabell men du ' försöker sällan ta reda på vad det är när du ' bara tittar vid bordet isolerat. Konsistens är viktigare än att undvika redundans IMHO.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *