Как определить строки из таблицы, используя JOIN

У меня есть этот mysql-запрос:

SELECT R.*, A.* FROM buy A JOIN return R ON A.id_buyer = R.id_buyer WHERE A.id_acheter = '$id' and R.stats in (5, 4) and A.stats in (14, 15) ORDER BY R.id, A.id 

Прежде всего, когда я использую этот запрос, я получаю дублированные строки … Я использовал GROUP BY для решения проблемы, но ничего не сделал.

И здесь примеры данных:

КУПИТЬ Таблица:

 > +-------------+---------------+-----------+-------------+-------------+ > |id | id_buyer | product | title | stats | > +-------------+---------------+-----------+-------------+-------------+ > |1 | 12 | Amazon | Shoes | 4 | > +-------------+---------------+-----------+-------------+-------------+ > |2 | 12 | Amazon | Glasses | 5 | > +-------------+---------------+-----------+-------------+-------------+ > |3 | 16 | Ebay | Glasses | 2 | > +-------------+---------------+-----------+-------------+-------------+ 

RETURN Таблица:

 > +-------------+---------------+-----------+-------------+-------------+ > |id | id_buyer | Message | Date | stats | > +-------------+---------------+-----------+-------------+-------------+ > |1 | 12 | Hi | 02/05/16 | 14 | > +-------------+---------------+-----------+-------------+-------------+ > |2 | 12 | What? | 02/05/16 | 0 | > +-------------+---------------+-----------+-------------+-------------+ > |3 | 12 | Yes | 02/05/16 | 15 | > +-------------+---------------+-----------+-------------+-------------+ 

Желаемые результаты:

Поскольку у меня нет одинаковых столбцов в таблицах, я не знаю, как я могу управлять своим PHP-кодом, чтобы показать этот результат?

 > +-------------+---------------+-----------+-------------+-------------+ > |1 | 12 | Hi | 02/05/16 | 14 | > +-------------+---------------+-----------+-------------+-------------+ > +-------------+---------------+-----------+-------------+-------------+ > |3 | 12 | Yes | 02/05/16 | 15 | > +-------------+---------------+-----------+-------------+-------------+ > +-------------+---------------+-----------+-------------+-------------+ > |1 | 12 | Amazon | Shoes | 4 | > +-------------+---------------+-----------+-------------+-------------+ > +-------------+---------------+-----------+-------------+-------------+ > |2 | 12 | Amazon | Glasses | 5 | > +-------------+---------------+-----------+-------------+-------------+ 

Вот что я сделал, но без успеха:

 <table> <?php $id = "12"; $req = $mysqli->query("SELECT R.*, A.*, R.id as id_reservation, A.id as id_buy FROM buy A JOIN return R ON A.id_buyer = R.id_buyer WHERE A.id_acheter = '$id' and R.stats in (5, 4) and A.stats in (14, 15) ORDER BY R.id, A.id"); While($rows = mysqli_fetch_array($req)) { $id_buyer = $rows["id_buyer"]; if(isset($rows["id_reservation"])) { $id = $rows["id_reservation"]; $result1 = $rows["product"]; $result2 = $rows["title"]; } else { $id = $rows["id_buy"]; $result1 = $rows["message"]; $result2 = $rows["date"]; } $stats = $rows["stats"]; ?> <tr> <td><?=$id?></td> <td><?=$id_buyer?></td> <td><?=$result1?></td> <td><?=$result2?></td> <td><?=$stats?></td> </tr> <?php } ?> </table> 

EDIT (UNION approch):

 SELECT R.'from return' , R.`id` , R.`id_buyer` , null as product , null as title , R.`id_seller` as id_seller , R-`message` , R.`stats` , R.`date` , R.`update` FROM return R WHERE R.id_buyer = '$user' AND (R.stats='1' OR R.stats='3') UNION ALL SELECT A.'from buy' , A.`id` , A.`id_buyer` , A.`product` , A.`title` , null , null , A.`stats` , A.`date` , null FROM buy A WHERE A.id_buyer = '$user' AND A.stats='4' ORDER BY R.date DESC LIMIT $from , 20 

Здесь у нас есть UNION approch, но только столбцы первого SELECT который работает, второй столбцы SELECT не работают.

Я все еще получаю эту ошибку только для столбцов второго выбора: Notice: Undefined index: product in ...