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

91
06 ноября 2021, 07:30

Есть две таблицы sql: Одна с заказами, а другая со статусами заказов:

  1. первая таблица:
|id|id_status|
|1 |1        |
|2 |2        |
|3 |3        |
  1. Вторая таблица:
 |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, но вместо корректного результата у меня фигня выходит(

Answer 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`) 
Answer 2

Неверный синтаксис запроса

SELECT table1.id, table2.status 
FROM table1 INNER JOIN table2 
ON table1.id_status=table2.id_status
READ ALSO
Интервал между начальной и финальной меткой времени

Интервал между начальной и финальной меткой времени

Есть у меня в программе функция отключения уведомлений по заданому времениТо есть условие такое, если current hour == 12 отключаю

93
Не подключается к БД MySql через Java JDBC

Не подключается к БД MySql через Java JDBC

Работаю в NetbeansНикак не могу подключить

226
Инициализация массива одной строкой Java

Инициализация массива одной строкой Java

У меня есть массив arrЯ хочу сделать так, чтобы если я вводил с клавиатуры 321234, то массив был таким arr = [3, 2, 1, 2, 3, 4]

185