Dans les requêtes SQL, la rencontre d'une erreur de nom de colonne ambigu se produit généralement lors de la sélection de données dans plusieurs tables à l'aide de JOIN et d'au moins une colonne portant le même nom dans différentes tables. Cette erreur se produit lorsque SQL Server ne peut pas déterminer à partir de quelle table récupérer les données de la colonne ambiguë.
Pour résoudre cette ambiguïté, spécifiez explicitement le nom de la table avant le nom de la colonne dans la requête. Par exemple, dans votre requête, vous disposez de deux tables, Invoices et InvoiceLineItems, qui comportent toutes deux une colonne nommée InvoiceID. Pour lever l'ambiguïté, utilisez Invoices.InvoiceID pour faire spécifiquement référence à la colonne InvoiceID dans la table Invoices.
Voici une version modifiée de votre requête qui inclut les noms de table pour les colonnes ambiguës :
SELECT VendorName, Invoices.InvoiceID, InvoiceSequence, InvoiceLineItemAmount FROM Vendors JOIN Invoices ON (Vendors.VendorID = Invoices.VendorID) JOIN InvoiceLineItems ON (Invoices.InvoiceID = InvoiceLineItems.InvoiceID) WHERE Invoices.InvoiceID IN (SELECT InvoiceSequence FROM InvoiceLineItems WHERE InvoiceSequence > 1) ORDER BY VendorName, Invoices.InvoiceID, InvoiceSequence, InvoiceLineItemAmount
En spécifiant le nom de la table, vous aidez SQL Server à identifier la colonne correcte à partir de laquelle récupérer les données, éliminant ainsi l'ambiguïté et permettant à la requête de s'exécuter. avec succès.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!