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 ?

Susan Sarandon
Libérer: 2025-01-05 12:22:40
original
490 Les gens l'ont consulté

How to Resolve Ambiguous Column Name Errors in SQL Queries?

Erreur de nom de colonne ambigu avec les requêtes SQL

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

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!

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