2015-01-18 2 views
0

Я хотел упорядочить таблицу в правильной последовательности даты как для столбца date_due, так и для столбца date_paid.MySQL Query Filter Последовательность двух столбцов даты

Моей структура таблицы показывает, как это и заказана due_date колонок:

Period  Due Date  Paid Date 
          12/01/2014 
          02/05/2014 
1   01/01/2015 
2   02/01/2015 
3   03/01/2015 
4   04/01/2015 

Тогда все, что я хочу, чтобы это сделать:

Period  Due Date  Paid Date 
          12/01/2014 
1   01/01/2015 
2   02/01/2015 
          02/05/2014 
3   03/01/2015 
4   04/01/2015 
+1

, пожалуйста, напишите ваш запрос. – sandipon

+1

Можете ли вы добавить инструкцию создания таблицы? – Jens

+0

Вот мой запрос: SELECT * FROM proj_loan_management_db.loan_ledger заказать по $ due_date; – BadCoder

ответ

0

Ok забыть о моем глупом комментарии - это не был конструктивным. Прежде всего, я думаю, что у вас есть ошибка в ваших данных: я думаю, что «02/05/2014» должен быть «02/05/2015».

Проблема в том, что вам нужно собрать два столбца, чтобы иметь возможность сортировать после этого. Использование функции GREATEST, как я заявил в моем комментарии, на самом деле не сработает, потому что это не null-save. Вы можете использовать, например, COALESCEfunction.

В целом это можно сделать либо путем «добавив столбец» как

 
SELECT 
    *, Coalesce(`Due Date`, `Paid Date`) as bananas 
FROM 
    table1 
ORDER BY 
    bananas 

Или добавьте выражение непосредственно к ORDER BY пункта:

 
SELECT 
    * 
FROM 
    table1 
ORDER BY 
    Coalesce(`Due Date`, `Paid Date`) 

Пожалуйста, смотрите эту скрипку и попробовать себя : http://sqlfiddle.com/#!2/21a84/1

+0

Сэр! этот код работает отлично! уважаю вас, сэр, и большое спасибо за эту помощь. я приветствую вас! – BadCoder