Если две таблицы джойнятся по уникальному полю, то как правило в результате получается что-то вроде:
id1 name1 id2 name2
1 Petr 1 Petrov
2 Ivan 2 Ivanov
Но если id не уникальный, а одинаковый в обеих таблицах и равен, допустим, единице, то получится что-то вроде:
id1 name1 id2 name2
1 Petr 1 Petrov
1 Petr 1 Ivanov
1 Ivan 1 Ivanov
1 Ivan 1 Petrov
Предположим, что name2 уникальна, таким образом, мы можем понять, что добавление полей состоялось
Не подскажите алгоритм, чтобы получить или
1 Petr 1 Petrov
1 Ivan 1 Ivanov
Или:
1 Petr 1 Ivanov
1 Ivan 1 Petrov
Лучше, конечно, первое)))
SELECT
`table1`.*,
`table2`.*,
FROM `table1`
LEFT JOIN `table2` ON `table1`.`id1` = `table2`.`id2 `