#mysql #sql-order-by
#mysql #sql-order-by
Вопрос:
У меня есть две таблицы, одна из которых представляет собой список хранилищ ОС и атрибутов, вторая — список allocationsa на основе этих атрибутов. Таблица атрибутов (stores_metadata)
| key | store_key | field | value
| 1 | 1 | size | Large
| 2 | 1 | dist | Midlands
| 3 | 2 | size | Medium
| 4 | 3 | dist | South
Таблица распределения (allocation)
| key | ticket_key | field | value | count
| 1 | 1 | size | Large | 10
| 2 | 1 | size | Medium| 5
Мне удалось заставить распределения работать, используя код:
SELECT store_key, quantity FROM
allocation
INNER JOIN store_metadata
ON allocation.`field` = store_metadata.`field`
AND allocation.`value` = store_metadata.`value`
Это возвращает список хранилищ и количество элементов, которые они должны получить, что мне теперь нужно сделать, упорядочив хранилища по атрибуту распределения.
Любая помощь была бы высоко оценена.
Комментарии:
1. В какой таблице существует это поле?
2. Распределение — это запись в столбце field таблицы stores_metadata.
3. Извините, распределение находится в базе данных как dist.
Ответ №1:
Вопрос задан не очень хорошо.
Чтобы выполнить упорядочение по любому столбцу в вашем результирующем наборе, добавьте ORDER BY [column]
в конец запроса. Например.
ВЫБЕРИТЕ store_key, количество из распределение ВНУТРЕННЕЕ ОБЪЕДИНЕНИЕ store_metadata О распределении.`поле` = store_metadata.`поле` И распределение.`значение` = store_metadata.`значение` УПОРЯДОЧИТЬ ПО распределению.`поле `;
Комментарии:
1. я не хочу сортировать по столбцу, я хочу отсортировать по значению атрибута в таблице метаданных.