2016-01-30 2 views
0

У меня есть переопределение SQL-запроса, в котором я хочу получить заказ между объединенными запросами, так что первая строка в результатах исходит из первого запроса, вторая строка - из второго запроса и третьей строки происходит из третьего запроса. Другой сценарий заключается в том, что если результатов первого и второго запросов нет, я получаю третью строку в результатах сверху и т. Д. Я хочу использовать в качестве константы в каждом запросе и использовать порядок в конце для достижения этого результата, поскольку существует никакое поле в моем запросе, котор я могу сделать заказ дальше дальше.powercenter 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-запроса центра власти. Я попытался создать порт ранга в поиске, но ничто не решает проблему. Любые предложения приветствуются.

ответ

0

Попробуйте

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 

В принципе, вы объединяете все наборы данных и сортировки впоследствии.