$check = "SELECT up.quantity AS stockAble,
oh.quantity AS stockAsk
FROM stock_update up
JOIN orders oh
ON up.quantity > oh.quantity
AND up.package = oh.product_id
WHERE oh.reference_no = 12345
AND up.location_id = 4
";
在查詢中,我根據引用號選擇所有數量的包。如果其中一個字段不存在,則返回null mysql
例如,在12345的參考號碼中,有三行,每個不同數量的三個產品。
在oh.quantity
Stock Ask
從orders
+---------------+--------------+------------+
reference_no product_id quantity
+---------------+--------------+------------+
12345 1 30
12345 2 10
12345 3 20
但是它需要檢查,如果被詢問的數量或該產品是在我們的表中。
Stock Available
在stock_update
+--------------+------------+
product_id quantity
+--------------+------------+
1 10
2 15
3 25
基於上述兩個表中,有一個產品,其它的可用數量小於其要求的數量。它是在行或在
product_id如果條件如此,那麼我希望查詢返回什麼也沒有。
如果只有所詢問的所有產品和數量都可用,則查詢將返回true。
如何在查詢我已經在上面嘗試過嗎?非常感謝你的幫助。
實際與預期結果是什麼?您的查詢看起來不錯,除了您可能想使用'> ='而不是'>' –
@fschmengler我的查詢仍然返回兩行,因爲一行不存在。我想要的是如果三者中的一個不存在,那麼我希望查詢不轉任何行。 – klaudia
根據您的示例數據,您的查詢返回'null'又名'no row'。除了你可能想用'> ='代替'>' – RubahMalam