Gesloten. Deze vraag is off-topic . Het accepteert momenteel geen antwoorden.

Answer

De fout verwijst naar “id” in de eerste regel van uw zoekopdracht. SQL Server weet niet of u naar tbldata.id of tblimg.id verwijst.

Het is een goede gewoonte om altijd een alias te gebruiken, zodat wijzigingen in het tabelschema uw zoekopdracht minder snel verstoren:

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

Opmerkingen

  • Naast het alias maken van kolommen, is een andere best practice om kolommen een descriptor te geven naast de klas, zoals CustomerID in plaats van alleen ID.
  • ^ wat Dan zei, x1000. Je zou in staat om een kolom-ID zoals ID te herkennen zoals het vertegenwoordigt, ongeacht waar u het in het schema of in een zoekopdracht aantreft. Sommigen beweren het ' is overbodig in zijn eigen tabel, maar u ' probeert zelden uit te zoeken wat het is als u ' alleen maar kijkt alleen aan tafel. Consistentie is belangrijker dan het vermijden van redundantie IMHO.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *