Сортировка MySQL по 3 столбцам или ОБЪЕДИНЕНИЕ их

У меня проблема с пониманием ORDER BYв MySQL. Мне нужно отсортировать таблицу по 3 критериям

1 -Сначала я хочу отсортировать по ТИП _ИЗ _РАБОТЫ , поэтому все данные должны быть в алфавитном порядке, например

dech_rap_bus
dech_rap_bus
ger_dem_dech_bus
ger_dem_dech_bus
ger_dem_stp_pp
...

РЕЗУЛЬТАТ =>http://sqlfiddle.com/#!2/b2a858/6

2 -секунда, которую я хочу отсортировать по ПРОЕКТУ _ВЕРСИИ , поэтому все данные должны быть в алфавитном порядке, но с соблюдением 1 критерия, например

dech_rap_bus            V123-V1234
dech_rap_bus            V300
ger_dem_dech_bus        V123-V1234  
ger_dem_dech_bus        V300
ger_dem_stp_pp          V123-V1234  

РЕЗУЛЬТАТ =>http://sqlfiddle.com/#!2/b2a858/7

Итак, 1 и 2 работают отлично.

3 -и после этого я хочу отсортировать по столбцу не существующему _

РЕЗУЛЬТАТ =>http://sqlfiddle.com/#!2/b2a858/5

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

деч _рэп _автобус V300

где столбец НЕ _СУЩЕСТВУЮЩИЙ равен 1 в конце, а когда больше НЕ _СУЩЕСТВУЮЩИЙ = 1 , чтобы отсортировать их все, кроме конца таблицы.

Я подумал, что мне поможет UNION 2 select

/* Selecting all data where  not_existing is not 1 or NULL ---> working good! */
(
    SELECT 
    * 
    FROM 
    atm_mti_view 
    WHERE 
    project_function='FRS01' AND 
    on_big_project_id = 12 AND
    (not_existing != 1 OR not_existing IS NULL)
    ORDER BY
    type_of_work ASC,
    project_version ASC
)

UNION

/* Selecting all data where  not_existing is 1 ---> working good! */
(
    SELECT 
    * 
    FROM 
    atm_mti_view 
    WHERE 
    project_function='FRS01' AND 
    on_big_project_id = 12 AND
    not_existing = 1
    ORDER BY
    type_of_work ASC,
    project_version ASC
)

но что делает этот фрагмент кода, ставит несуществующую шину dech _rap _в конец, хорошо, но это портит сортировку версий, ПОЧЕМУ???

ПОСМОТРЕТЬ РЕЗУЛЬТАТ ЗДЕСЬ =>http://sqlfiddle.com/#!2/b2a858/8

Это почему? Я просто хочу ОБЪЕДИНИТЬ два результата выбора, что я делаю неправильно?

Спасибо.

6
задан podiluska 7 August 2012 в 12:13
поделиться