我的目标是只显示尚未收到所有产品的采购订单。
我有一个名为的主表test_po
和另外两个表test_po_bom
。和表是我存储产品列表的地方 test_rog_bom
。是我订购的产品列表,是我收到的产品列表。test_po_bom
test_rog_bom
test_po_bom
test_rog_bom
基本上:loop purchase_orders WHERE products_received < products_ordered
表结构:
table `test_po`: `ID`, `vendor_ID`
table `test_po_bom`: `ID`, `po_ID`, `product_ID`, `quantity`
table `test_rog_bom`: `ID`, `po_ID`, `product_ID`, `quantity`
代码:
$SQL = "SELECT
*,
test_po.ID AS test_po_ID
FROM
test_po
LEFT JOIN test_po_bom ON test_po_bom.po_ID=test_po.ID
LEFT JOIN test_rog_bom ON test_rog_bom.po_ID=test_po.ID
WHERE
(SELECT SUM(quantity) FROM test_rog_bom WHERE po_ID=test_po.ID) < (SELECT SUM(quantity) FROM test_po_bom WHERE po_ID=test_po.ID)";
$result = mysql_query($SQL) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
echo $row['test_po_ID'].'<br>';
}
它不会吐出任何东西,我尝试了许多不同的变化,但我就是想不通。