Здесь у меня есть таблица с столбцом item_quantity, а другая - item_low_stock, мне нужно получить элемент, который они либо равны низкому запасу, либо меньше, чем к низкому запасу.
Вот таблица:
+-----------------------------+--------------------+--------
| item_id item_quantity item_low_stock
+-----------------------------+-------------------+--------
| 1 | 5 | 5
| 2 | 10 | 9
| 3 | 6 | 10
+-----------------------------+-------------------+-------
Это мой запрос:
SELECT item1.item_id as itemId, item1.item_quantity as qty, item1.item_low_stock as lowStock
FROM 'eot_item' as item1
INNER JOIN eot_item as item2 ON item1.item_id = item2.item_id
WHERE item1.item_quantity <= item2.item_low_stock
LIMIT 10
Попробуйте выполнить следующий запрос.
Поскольку вы определили самое низкое значение в другом столбце, вам не нужно делать внутреннее соединение.
ПРИМЕЧАНИЕ. Просто для демонстрации я использую * (т.е. Выберите все столбцы, пожалуйста, получите только соответствующие столбцы для более быстрого выполнения)
Я надеюсь, что ваше обновление item_quantity после каждого изменения количества
SELECT *
FROM 'eot_item'
WHERE item_quantity <= item_low_stock