Как получить доступный столбец, используя синтаксис MySQL?
Из таблиц мне нужно получить все доступные столбцы из события таблицы "car_type", если
- У этого есть автомобиль (ы) в таблице "автомобиль",
- Он не "используется" в таблице "утверждение" (если он используется, в поле car_return будет отображаться 0)
- Значение car.car_status не равно 0 (если оно показывает 0, это означает, что эта машина ремонтируется, автомобиль по какой-то причине не может использовать)
** Если у меня есть 2 фургона и в таблице "утверждение" я использую его для 1 записи, он покажет только 1 доступный фургон. Или, если у меня есть 2 фургона и в таблице "утверждение" я использую его для 1 записи, а в таблице "car.car_status = 0" он больше не будет доступен для использования.
Мне нужен такой продукт
По возможности мне нужен такой продукт
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