Megosztás a következőn keresztül:


MSSQLSERVER_107

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Részletek

Attribute Érték
Terméknév SQL Server
Eseményazonosító 107
Eseményforrás MSSQLSERVER
Összetevő SQLEngine
Szimbolikus név P_NOCORRMATCH
Üzenet szövege Az "%.*ls" oszlopelőtag nem egyezik meg a lekérdezésben használt táblanévvel vagy aliasnévvel.

Explanation

A lekérdezés kiválasztási listája egy csillagot (*) tartalmaz, amelyet helytelenül oszlop-előtaggal jelölnek. Ez a hiba a következő feltételek mellett visszaadható:

  • Az oszlop előtagja nem felel meg a lekérdezésben használt táblának vagy alias-névnek. Például a következő állítás egy álnév (T1) oszlop előtagként használ, de az alias nincs definiálva a FROM klauzulában.

    SELECT T1.* FROM dbo.ErrorLog;  
    
  • A tábla nevét oszlop-előtagként adják meg, amikor a tábla alias nevét a FROM mellékmellékszálban adják meg. Például a következő állítás a táblázat nevét ErrorLog használja oszlop előtagként; azonban a táblának van egy alias (T1), amelyet a FROM klauzula definiál.

    SELECT ErrorLog.* FROM dbo.ErrorLog AS T1;  
    

    Ha a FROM klauzulaban egy táblanévhez alias is megadott, akkor csak az alias-t használhatod oszlopok előtagjához a táblából.

Felhasználói művelet

Egyeztessék össze az oszlop előtagokat a lekérdezés FROM záradékában megadott táblanevekkel vagy alias nevekkel. Például a fenti állítások a következőképpen korrigálhatók:

SELECT T1.* FROM dbo.ErrorLog AS T1;  

vagy

SELECT ErrorLog.* FROM dbo.ErrorLog;  

Lásd még:

MSSQLSERVER_4104