Как получить доступный столбец, используя синтаксис MySQL?

https://stackru.com/images/17f047de8b9ed280c96388295ef0bbb5eca873fa.png

Из таблиц мне нужно получить все доступные столбцы из события таблицы "car_type", если

  1. У этого есть автомобиль (ы) в таблице "автомобиль",
  2. Он не "используется" в таблице "утверждение" (если он используется, в поле car_return будет отображаться 0)
  3. Значение car.car_status не равно 0 (если оно показывает 0, это означает, что эта машина ремонтируется, автомобиль по какой-то причине не может использовать)

** Если у меня есть 2 фургона и в таблице "утверждение" я использую его для 1 записи, он покажет только 1 доступный фургон. Или, если у меня есть 2 фургона и в таблице "утверждение" я использую его для 1 записи, а в таблице "car.car_status = 0" он больше не будет доступен для использования.

Мне нужен такой продукт

https://stackru.com/images/1c171fbd7858c6b7ff3f3b945f03afb4ff1bb782.png

По возможности мне нужен такой продукт

https://stackru.com/images/2593b03e016064029ae04ab560579c357162a165.png

Ps. извините за плохой английский

2 ответа

Решение

ОК, я получил свой ответ, как это

SELECT tb2.car_type_id, tb2.car_type_name, ( tb2.count_car_type - IFNULL(tb1.count_car_type, 0) ) AS available FROM ( SELECT car_type.car_type_id, car_type.car_type_name, COUNT(car.car_type_id) AS count_car_type FROM car JOIN car_type ON car_type.car_type_id = car.car_type_id WHERE car.car_status <> 1 GROUP BY car.car_type_id ) tb2 LEFT JOIN ( SELECT car_type.car_type_id, car_type.car_type_name, COUNT(approval.car_type_id) AS count_car_type FROM approval JOIN car_type ON car_type.car_type_id = approval.approval_id WHERE approval.car_return = 0 ) tb1 ON tb2.car_type_id = tb1.car_type_id AND tb2.car_type_name = tb1.car_type_name

Я предполагаю, что вы хотите [Available] прийти из колонки одобрения.

Ваш запрос будет таким

select
    car_type.car_type_id,
    car_type.car_type_name,
    count(approval.car_type_id)
from
    car_type
    inner join
    approval 
    on approval.car_type_id = car_type.car_type_id 
where approval.car_return<>0
Другие вопросы по тегам