Невозможно получить товар низкого уровня на основе этого запроса

0

Здесь у меня есть таблица с столбцом 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
  • 0
    Почему вы присоединяетесь к одной и той же таблице?
  • 0
    @Siva, потому что оба столбца находятся на одной и той же таблице
Показать ещё 9 комментариев
Теги:

1 ответ

1
Лучший ответ

Попробуйте выполнить следующий запрос.

Поскольку вы определили самое низкое значение в другом столбце, вам не нужно делать внутреннее соединение.

ПРИМЕЧАНИЕ. Просто для демонстрации я использую * (т.е. Выберите все столбцы, пожалуйста, получите только соответствующие столбцы для более быстрого выполнения)

Я надеюсь, что ваше обновление item_quantity после каждого изменения количества

SELECT *
FROM 'eot_item'
WHERE item_quantity <= item_low_stock
  • 0
    Это не работает.
  • 0
    в чем ошибка, которую вы получаете. Можете ли вы опубликовать несколько примеров вывода того, как выглядят ваши таблицы и каков ваш ожидаемый результат. Так что я могу помочь вам лучше
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню