#php #sql
Есть две таблицы sql: Одна с заказами, а другая со статусами заказов: первая таблица: |id|id_status| |1 |1 | |2 |2 | |3 |3 | Вторая таблица: |id_status|status | |1 |Ожидание| |1 |Ожидание| |2 |Готов | |2 |Готов | |3 |Отменен | Я делаю это так: $connection = mysqli_connect('localhost', 'login', 'password', 'namedb'); $sqldata = mysqli_query($connection, "SELECT * FROM table1 INNER JOIN table2 ON id=1 "); $results = array(); while ($result = mysqli_fetch_array($sqldata)) { echo $result['status']; } Я хочу получить имя статуса Ожидание если в первой таблице id = 1, но вместо корректного результата у меня фигня выходит(
Ответы
Ответ 1
Поменяйте запрос таким образом, если вы хотите только для id=1 SELECT `table2`.`status` as `status` FROM `table1` LEFT JOIN `table2` using(`id_status`) WHERE `table1.id` = 1 или так, если для всех SELECT `table1`.`id` as `id`, `table2`.`status` as `status` FROM `table1` LEFT JOIN `table2` using(`id_status`)Ответ 2
Неверный синтаксис запроса SELECT table1.id, table2.status FROM table1 INNER JOIN table2 ON table1.id_status=table2.id_status
Комментариев нет:
Отправить комментарий