Le message d'erreur « Nom de colonne ambigu » dans les requêtes SQL apparaît lors de la tentative d'accès à des colonnes avec des noms en double à partir de plusieurs tables jointes. Pour résoudre cette ambiguïté, il est crucial de spécifier la table dans laquelle la colonne est sélectionnée.
Dans la requête fournie, l'erreur se produit avec la colonne InvoiceID, qui existe à la fois dans les tables Invoices et InvoiceLineItems. Pour résoudre ce problème, modifiez la requête comme suit :
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 préfixe de la table "Factures" avant "InvoiceID", la requête indique explicitement que la colonne doit être récupérée de la table Factures. Cela résout l'ambiguïté et permet à SQL Server Management Studio (SSMS) de récupérer et d'afficher correctement la colonne VendorID.
N'oubliez pas de spécifier le préfixe de table pour toutes les colonnes ambiguës afin d'éviter cette erreur lors de l'interrogation de données de plusieurs tables.
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!