MySql计算数量

时间:2013-08-21 10:59:58

标签: mysql sql

我有两张桌子:

设备e_barcode , e_name, e_Quantity

equipment_booked e_barcode (foreign key to equipments), employee_id

我需要一个查询来获取具有设备ID的每台设备的数量。 像这样。

e_barcode, e_available_quantity(not total)

我写的查询只显示了可用的设备:

SELECT * FROM `equipments` AS a
HAVING
a.`e_quantity` > (SELECT COUNT(`equipments_booked`.`e_barcode`) 
FROM `equipments_booked` WHERE `equipments_booked`.`e_barcode`=a.`e_barcode`)

1 个答案:

答案 0 :(得分:0)

我认为你想使用连接和聚合:

SELECT e.bar_code, count(eb.e_barcode) as quantity_booked
FROM equipments e left join
     equipments_booked eb
     on e.e_barcode = eb.e_barcode
GROUP BY e.bar_code;

我不确定你的having条款背后的逻辑是什么。