Request SQL - Error Code 1052 Column in where clause is ambiguous

342 Views Asked by At

I have an error 1052 that I don't understand, how can I rectify it? Thanks for your help ! :)

CREATE TABLE Commande (noCommande   INTEGER ,
dateCommande    DATE    NOT NULL,
noClient    INTEGER NOT NULL, 
PRIMARY KEY (noCommande),
FOREIGN KEY (noClient) REFERENCES Client(noClient)
);

CREATE TABLE Livraison (noLivraison INTEGER,
dateLivraison   DATE    NOT NULL, 
PRIMARY KEY (noLivraison)
);

CREATE TABLE DetailLivraison (noLivraison   INTEGER ,
noCommande  INTEGER,
noArticle   INTEGER,
quantiteLivree  INTEGER NOT NULL CHECK (quantiteLivree > 0),
PRIMARY KEY (noLivraison, noCommande, noArticle), 
FOREIGN KEY (noLivraison) REFERENCES Livraison(noLivraison),
FOREIGN KEY (noCommande, noArticle) REFERENCES LigneCommande(noCommande, noArticle)
);

SELECT Livraison.noLivraison, livraison.dateLivraison,  
        detailLivraison.noCommande, detailLivraison.noArticle, 
        detailLivraison.quantiteLivree, Commande.noClient 
FROM detailLivraison
    INNER JOIN Livraison ON Livraison.noLivraison = detailLivraison.noLivraison
    INNER JOIN Commande ON Commande.noClient = detailLivraison.noClient
WHERE noLivraison = 105 
AND dateLivraison = STR_TO_DATE('09/07/2000', '%d/%m/%Y');
1

There are 1 best solutions below

2
talha2k On

You have same column twice in your schema.

Try specifying the name of table you are referring to:

WHERE Livraison.noLivraison = 105