Geschlossen. Diese Frage ist nicht zum Thema . Derzeit werden keine Antworten akzeptiert.
Antwort
Der Fehler bezieht sich auf „id“ in der ersten Zeile Ihrer Abfrage. SQL Server weiß nicht, ob Sie auf tbldata.id oder tblimg.id verweisen.
Es wird empfohlen, immer einen Alias zu verwenden, damit Änderungen am Tabellenschema Ihre Abfrage weniger wahrscheinlich beschädigen:
SELECT TOP 6 td.id FROM dbo.tbldata td RIGHT JOIN tblimg ti ON td.id = ti.newsid ORDER BY createdDate DESC
Kommentare
- Neben dem Aliasing von Spalten besteht eine weitere bewährte Methode darin, Spalten zusätzlich mit einem Deskriptor zu benennen die Klasse, wie
CustomerID
statt nurID
. - ^ was Dan gesagt hat, x1000. Sie sollten es sein Sie können einen Spaltenbezeichner wie
ID
als das erkennen, was er darstellt, unabhängig davon, wo Sie ihn im Schema oder in einer Abfrage finden. Einige würden ihn argumentieren ' ist in seiner eigenen Tabelle redundant, aber Sie ' versuchen selten herauszufinden, was es ist, wenn Sie ' nur suchen Die Konsistenz ist wichtiger als die Vermeidung von Redundanz, IMHO.