Maison > base de données > tutoriel mysql > Comment résoudre les erreurs de « nom de colonne ambigu » dans les requêtes SQL ?

Comment résoudre les erreurs de « nom de colonne ambigu » dans les requêtes SQL ?

Patricia Arquette
Libérer: 2025-01-03 05:36:44
original
580 Les gens l'ont consulté

How to Resolve

Nom de colonne ambigu dans la requête SQL : résolution du problème d'ID de facture

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal