Упорядочить по предложению в UNION ALL sql запрос - PullRequest
2 голосов
/ 18 января 2012

Мой запрос выглядит следующим образом:

SELECT 
ID,Bill_typeID,Cust_ID,Name,Reg_date,Account_Number,Amount,status
 FROM
(
 SELECT ID,Bill_typeID,Cust_ID,Name,Reg_date,Account_Number,Amount,status FROM Cust_Bill_Reg_M_Tbl 
 UNION ALL
 SELECT ID,Bill_typeID,Cust_ID,Name,Reg_date,Account_Number,Amount,status FROM Rail_Ticket_Booking_M_Tbl 
)
order by CONVERT(datetime, Reg_date, 101) desc

Я получил эту ошибку.

Msg 156, Level 15, State 1, Line 9
Incorrect syntax near the keyword 'order'.

Что не так с моим запросом? Если это неправильно, каков метод? Любая помощь будет оценена.

Ответы [ 3 ]

4 голосов
/ 18 января 2012

Вам необходимо создать псевдоним производной таблицы (tmp):

SELECT  
ID,Bill_typeID,Cust_ID,Name,Reg_date,Account_Number,Amount,status 
 FROM 
( 
 SELECT ID,Bill_typeID,Cust_ID,Name,Reg_date,Account_Number,Amount,status FROM Cust_Bill_Reg_M_Tbl  
 UNION ALL 
 SELECT ID,Bill_typeID,Cust_ID,Name,Reg_date,Account_Number,Amount,status FROM Rail_Ticket_Booking_M_Tbl  
) tmp
order by CONVERT(datetime, Reg_date, 101) desc 
1 голос
/ 18 января 2012

Вам нужно добавить псевдоним в подзапрос, например:

SELECT 
  ID,
  Bill_typeID,
  Cust_ID,
  Name,
  Reg_date,
  Account_Number,
  Amount,status
FROM
(
  SELECT 
    ID,
    Bill_typeID,
    Cust_ID,Name,
    Reg_date,
    Account_Number,
    Amount,
    status 
  FROM Cust_Bill_Reg_M_Tbl 
  UNION ALL
  SELECT 
    ID,
    Bill_typeID,
    Cust_ID,
    Name,
    Reg_date,
    Account_Number,
    Amount,
    status 
  FROM Rail_Ticket_Booking_M_Tbl 
) Alias
order by CONVERT(datetime, Reg_date, 101) desc
1 голос
/ 18 января 2012

Вам нужно назвать свой подзапрос, например, используя x:

SELECT 
ID,Bill_typeID,Cust_ID,Name,Reg_date,Account_Number,Amount,status
 FROM
(
 SELECT ID,Bill_typeID,Cust_ID,Name,Reg_date,Account_Number,Amount,status FROM Cust_Bill_Reg_M_Tbl 
 UNION ALL
 SELECT ID,Bill_typeID,Cust_ID,Name,Reg_date,Account_Number,Amount,status FROM Rail_Ticket_Booking_M_Tbl 
) x
order by CONVERT(datetime, Reg_date, 101) desc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...