0

我有两张桌子:

设备e_barcode , e_name, e_Quantity

设备预订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`)
4

1 回答 1

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条款背后的逻辑是什么。

于 2013-08-21T11:07:30.647 回答