Правильный join запрос в бд

Прошу помочь составить правильно запрос JOIN структуры.

  1. Таблица spec (отсюда нужны id, inn, number, product поля) введите сюда описание изображения

  2. Таблица contract (отсюда мне нужен столбец shortname) введите сюда описание изображения

Структура запроса:

$sql = "SELECT * FROM spec INNER JOIN contract ON (spec.inn = contract.inn)";
                        $stmt = $dbh->prepare($sql);
                        $stmt->execute();
                        
                        $result = $stmt->fetchALL();
                        foreach ($result as $k => $v) {
                            echo "<tr>";
                            echo "<td>" . $v['id'] . "</td>";
                            echo "<td>" . $v['number'] . " от " . $v['date'] . "</td>";
                            echo "<td>" . $v['shortname'] . "</td>";
                            echo "<td>" . $v['product'] . "</td>";
                            echo "<td>" . ' <a href="eidtspec.php?inn=' . $v['inn'] . '">Редактировать</a></td>';
                        }

В результате я имею: введите сюда описание изображения

Проблема в столбце ID, он не совпадает с значениями spec.id В дальнейшем чтобы реализовать функционал редактирования / удаления спецификаций, я могу зацепиться только за id строки в таблице spec, все остальные данные могут частично повторяться.

Заранее благодарю за помощь.


Ответы (1 шт):

Автор решения: SAnton

Этот запрос тебе должен помочь, ты выбираешь всё из обеих таблиц, так не желательно делать - id таблиц путаются, ну и все остальные столбцы таблиц

SELECT spec.*,contract.shortname FROM spec INNER JOIN contract ON spec.inn = contract.inn
→ Ссылка