2009-10-29 4 views
0

У меня есть две таблицы, одна из них - список магазинов и атрибутов, второй - список allocationsa на основе этих атрибутов. Таблица атрибутов (stores_metadata)Закажите в mysql, используя вторую таблицу

| key | store_key | field | value 
| 1 | 1   | size | Large 
| 2 | 1   | dist | Midlands 
| 3 | 2   | size | Medium 
| 4 | 3   | dist | South 

Таблица распределения (распределение)

| 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` 

Это возвращающую список магазинов и количество элементов, которые они должны получить, что мне теперь нужно, чтобы упорядочить магазины по атрибуту распространения.

Любая помощь была бы принята с благодарностью.

+0

В какой таблице это поле существует? –

+0

Распространение - это запись в столбце поля таблицы stores_metadata. – 2009-10-29 13:43:11

+0

Мнение: Распространяется в базе данных как dist. – 2009-10-29 13:45:04

ответ

0

Вопрос не задан очень хорошо.

Для выполнения заказа по любому столбцу в вашем результирующем наборе добавьте ORDER BY [column] в конец запроса. Например.

SELECT store_key, quantity FROM 
allocation 

INNER JOIN store_metadata 
    ON allocation.`field` = store_metadata.`field` 
    AND allocation.`value` = store_metadata.`value` 
    ORDER BY allocation.`field`; 
+0

Я не хочу сортировать по столбцу, я хочу сортировать по значению атрибута в таблице метаданных. – 2009-10-29 13:44:24

Смежные вопросы