Сортировка данных по столбцу без в списке SELECT - PullRequest
0 голосов
/ 26 апреля 2018
     SELECT old.REF_ID, old.DATE FROM REFID_HISTORY old 
     INNER JOIN REFID_HISTORY new 
     ON new.REF_ID = old.REF_ID 
UNION
     SELECT new.REF_ID, new.DATE FROM REFID_HISTORY new
     INNER JOIN REFID_HISTORY old
     ON new.REF_ID = old._REF_ID
ORDER BY DATE DESC;

Над сценарием показана генеалогия REFID.Как можно REF_ID отсортировать по DATE без его выбора?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Я не получил запрос.Почему бы просто не сделать это?

SELECT h.REF_ID
FROM REFID_HISTORY h
ORDER BY h.DATE DESC;

Это кажется намного проще, чем ваш подход.

0 голосов
/ 26 апреля 2018

Используйте ваш запрос как подзапрос, а затем выберите только те столбцы, которые вы хотите показать.Вот так:

SELECT REF_ID
FROM (
      SELECT old.REF_ID, old.DATE FROM REFID_HISTORY old 
      INNER JOIN REFID_HISTORY new 
      ON new.REF_ID = old.REF_ID 
      UNION
      SELECT new.REF_ID, new.DATE FROM REFID_HISTORY new
      INNER JOIN REFID_HISTORY old
      ON new.REF_ID = old._REF_ID
     ) t
ORDER BY DATE DESC;

Я создал демонстрационную демонстрацию:

http://sqlfiddle.com/#!4/d5e9e8/3

РЕДАКТИРОВАНИЕ: Q.Для Cust_ID = 'ABC123'

SELECT REF_ID
FROM (
      SELECT old.REF_ID, old.CUST_ID,old.DATE FROM REFID_HISTORY old 
      INNER JOIN REFID_HISTORY new 
      ON new.REF_ID = old.REF_ID 
      UNION
      SELECT new.REF_ID, new.CUST_ID, new.DATE FROM REFID_HISTORY new
      INNER JOIN REFID_HISTORY old
      ON new.REF_ID = old._REF_ID
     ) t
WHERE CUST_ID = 'ABC123'
ORDER BY DATE DESC;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...