powercenter SQL переопределяет порядок запросов

У меня есть переопределение SQL поиска, в котором я хочу добиться порядка между запросами на объединение, чтобы первая строка результатов исходила из первого запроса, вторая строка исходила из второго запроса, а третья строка исходила из третьего запроса. Другой сценарий заключается в том, что если нет результатов из первого и второго запроса, я получаю третью строку результатов сверху и т. д. Я хочу использовать константу в каждом запросе и использовать порядок в конце для достижения этого результата, поскольку есть в моем запросе нет поля, по которому я могу сделать заказ.

Select emp_id,emp_name,emp_dept, 1 as rank 
from employee

union

Select emp_id,emp_name,emp_dept, 2 as rank 
from employee

union

Select emp_id,emp_name,emp_dept, 3 as rank 

from employee
order by rank

Это нормально работает в DB2, но выдает ошибку последовательности функций при переопределении SQL поиска центра питания. Я попытался создать ранговый порт в поиске, но ничего не решает проблему. Любые предложения приветствуются.


person software_art    schedule 30.01.2016    source источник


Ответы (1)


Попробуй это

Select emp_id,emp_name,emp_dept, rank from (
Select emp_id,emp_name,emp_dept, 1 as rank 
from employee

union

Select emp_id,emp_name,emp_dept, 2 as rank 
from employee

union

Select emp_id,emp_name,emp_dept, 3 as rank 

from employee)
order by rank

По сути, вы объединяете все наборы данных и затем сортируете их.

person mdem    schedule 11.02.2016