ISFULL()
函数在 MySQL 中并不存在。但是,你可以使用 COUNT()
和 GROUP BY
来实现类似的功能。假设你有两个表,一个是 orders
(订单),另一个是 order_items
(订单项),你想要找出哪些订单已经完全发货。
这里有一个简单的例子:
SELECT o.id AS order_id, COUNT(oi.id) AS total_items, SUM(oi.is_shipped) AS shipped_items FROM orders o JOIN order_items oi ON o.id = oi.order_id GROUP BY o.id;
这个查询将会返回每个订单的 ID、订单项总数以及已发货的订单项数量。然后,你可以通过比较 total_items
和 shipped_items
来判断订单是否已经完全发货。
如果你想要只显示已完全发货的订单,可以使用 HAVING
子句:
SELECT o.id AS order_id FROM orders o JOIN order_items oi ON o.id = oi.order_id GROUP BY o.id HAVING COUNT(oi.id) = SUM(oi.is_shipped);
这个查询将只返回那些已经完全发货的订单 ID。