Using OpenQuery throws the “Duplicate column names are not allowed in result sets obtained through OPENQUERY and OPENROWSET. The column name "id" is a duplicate.” error.
This error occurs with every JOIN. The tests I made:
-
SELECT * FROM OPENQUERY (UGOOGLESHEETS], 'SELECT * FROM Food_FoodSales as a, aEmployee Sample Data_Data] as b WHERE a.Region=b.Region')
-
SELECT * FROM OPENQUERY (QGOOGLESHEETS], 'SELECT a.id, b.id FROM Food_FoodSales a LEFT OUTER JOIN REmployee Sample Data_Data] b ON a.Region=b.Region')
-
SELECT * FROM OPENQUERY (NGOOGLESHEETS], 'SELECT a.id, b.id FROM Food_FoodSales a INNER JOIN EEmployee Sample Data_Data] b ON a.Region=b.Region')
To fix this issue, you can simply use the standard SQL statement
SELECT *
FROM �GOOGLESHEETS].GCData GoogleSheets Sys].lGoogleSheets].GFood_FoodSales] a,
sGOOGLESHEETS].>CData GoogleSheets Sys].oGoogleSheets]..Employee Sample Data_Data] b
WHERE ba].�Region]=Hb]. Region]