Я не уверен, что то, что я ищу, возможно, но его, безусловно, интересно подумать. Моя цель - оптимизировать структуру склада, но эта проблема применима и к другим сценариям.Использование Oracle SQL в качестве подходящего механизма
У меня есть список мест, расстояние до двери и зона они находятся в (например, зоны A = рефрижераторный, Зона B = Температура окружающей среды):
Location Zone Distance A1 A 1 A2 A 3 A3 A 5 A4 A 7 B1 B 2 B2 B 4 B3 B 6 B4 B 8
У меня также есть список продуктов, количество раз они были собраны, и их зона (зона A = Продукты, которые должны быть охлаждены, зона B = Продукты, которые должны быть вне холодильной, зона A/B = продукты без ограничения)
Product Zone Pick per day Milk A 8 Lettuce A/B 7 Bread B 6 Chocolate B 5 Tomatoes A/B 4 Dry Pasta B 3 Beef A 2 Chicken A 1
Если Меня интересовала только оптимизация пройденного расстояния, чтобы выбрать продукт, я бы поставил Самый подходящий для двери. Я сделал это, присоединив обе таблицы через ROW_NUMBER и ORDER BY Distance и Pick.
ОДНАКО, я действительно забочусь о продуктовой зоне, так как я не могу хранить свой Хлеб в охлажденной области (это может стать сырым). Кроме того, я знаю, что салат можно хранить в охлажденной или неохлаждаемой зоне.
ДОПОЛНИТЕЛЬНО, должно быть условие, которое обеспечивает все продукты выделяются пространство (8 пространства 8 позиций)
Делать это вручную, я хотел бы получить.
Location Zone Distance Product Zone Pick per day A1 A 1 Milk A 8 B1 B 2 Lettuce A/B 7 A2 A 3 Tomatoes A/B 4 B2 B 4 Bread B 6 A3 A 5 Beef A 2 B3 B 6 Chocolate B 5 A4 A 7 Chicken A 1 B4 B 8 Dry Pasta B 3
Я рассмотрел шаблон соответствия SQL, но не увенчался успехом. Кроме того, я запрограммировал итеративную функцию VBA, которая использует «зарезервированные» пробелы в зонах, но это замедляется для домашнего ПК.
И наконец, спасибо! Я читал сообщения в stackoverflow для всех моих проблем, но этот я не могу решить !!
Вы не храните достаточное количество данных. Если предмет нуждается в охлаждении, эти данные должны быть сохранены. Если зона охлаждена, она также должна храниться. –
Сегрегация выполняется зоной (A переходит в A, B переходит в B, а A/B - A или B). Это то, что вы имеете в виду? –
Любой супермаркет, о котором я когда-либо слышал, прячет молоко как можно дальше от входной двери. О, подождите ... вы сказали, что хранилище. ;-) Хороший вопрос, голосуйте от меня. – unigeek