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。