Сблъскваме се с тази грешка, когато избираме данни от повече от една таблици чрез обединяване на таблици ипоне една от избраните колони (ще се случи и когато използвате *, за да изберете всички колони) съществуват със същото име в повече от една таблици (нашите избрани/съединени таблици). В този случай трябва да посочим от коя таблица избираме колона.
Следва примерна реализация на решение на концепцията, обяснена по-горе
Мисля, че имате неяснота само в InvoiceID
който съществува и в InvoiceLineItems
и Invoices
Други полета изглеждат различни. Така че опитайте това
Просто замествам InvoiceID с Invoice.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
Можете да използвате tablename.columnnae за всички колони (в избор, където, групиране по и подреждане по), без да използвате псевдоним. Въпреки това можете да използвате псевдоним, като се ръководите от други отговори