Enfrentamos este error cuando seleccionamos datos de más de una tabla uniendo tablas y al menos una de las columnas seleccionadas (también sucederá cuando use * para seleccionar todas las columnas) exista con el mismo nombre en más de una tabla (nuestras mesas seleccionadas/juntas). En ese caso, debemos especificar de qué tabla estamos seleccionando la columna.
A continuación se muestra un ejemplo de implementación de la solución del concepto explicado anteriormente
Creo que tienes ambigüedad solo en InvoiceID
que existe tanto en InvoiceLineItems
y Invoices
Otros campos parecen distintos. Así que prueba esto
Acabo de reemplazar InvoiceID con 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
Puede usar tablename.columnnae para todas las columnas (en selección, dónde, agrupar por y ordenar por) sin usar ningún alias. Sin embargo, puede usar un alias guiado por otras respuestas