Страницы

Поиск по вопросам

пятница, 20 марта 2020 г.

Отобразить данные из двух таблиц

#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

Комментариев нет:

Отправить комментарий