Vi möter det här felet när vi väljer data från mer än en tabell genom att sammanfoga tabeller och minst en av de valda kolumnerna (det händer också när du använder * för att markera alla kolumner) finns med samma namn i mer än en tabell (våra utvalda/sammanfogade tabeller). I så fall måste vi ange från vilken tabell vi väljer ut kolumn.
Följande är ett exempel på implementering av konceptet som förklaras ovan
Jag tror att du bara har oklarheter i InvoiceID
som finns både i InvoiceLineItems
och Invoices
Andra fält verkar tydliga. Så prova det här
Jag ersätter bara InvoiceID med Invoices.InvoiceID
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
Du kan använda tablename.columnnae för alla kolumner (i urval, var, gruppera efter och ordning efter) utan att använda något alias. Du kan dock använda ett alias som styrs av andra svar