Ниже для BigQuery Standard SQL
#standardSQL
SELECT * FROM (
SELECT * FROM `project.dataset.table1` UNION ALL
SELECT *, NULL AS company FROM `project.dataset.table2`
)
WHERE ean IN (
SELECT DISTINCT ean
FROM `project.dataset.table1`
JOIN `project.dataset.table2`
USING (ean)
)
Применительно к выборочным данным из вашего вопроса - вывод
Row ean price company lowestPrice
1 abc 12 1 12
2 abc 23 2 12
3 fgh 43 1 43
4 fgh 82 2 43
5 abc 21 1 null
6 fgh 54 1 null