2016-10-04 12 views
0
use library 
go 

create view V_booksOut3 
as 
SELECT 
(select Book.Book_Title from Book where LB.B_ID=Book.Book_ID) as 'Book_Title', 
L.Loaner_FName, 
L.Loaner_Lname, 
L.Loaner_Phone, 
L.Loaner_Email,`enter code here` 
LB.bookDueDate 
FROM Loaner L 
inner join Loaner_Book LB 
ON L.Loaner_ID=LB.L_ID 
WHERE LB.isActive = 1 
ORDER BY L.Loaner_LName; 

- このエラーが発生し続けるが、ビューを作成しようとします。 top/for xmlキーワードは使用しませんが、このクエリでこのビューを作成します。TOP、OFFSETまたはFOR XMLも指定されていない限り、ビュー、インライン関数、派生テーブルではORDER BY句は無効です

+0

私はこのサイトで同様の質問を見ましたが、質問に間違いがないかどうかはわかりません。 –

+0

'Order By''を' View'定義から削除し、 'View'を選択するときにそれを使用します。 'Select * from V_booksOut3 Order by Loaner_LName' –

+0

@Prdp ありがとうございました。 –

答えて

0

ORDER BYが明示的に含まれていない限り、SQLテーブルと結果セットは、の順不同でセットを表します。これにはサブクエリも含まれます。したがって、サブクエリの結果はであり、順序付けされていません。 - これは必須です。 ORDER BYを持っているだけでは意味がありません。

一部のデータベースではこの制限が緩和されています。ただし、SQL Serverがかなりexplicit about it次のとおりです。またの選択 リストでTOP句がない限り、BY句

  • ORDER:

    ビュー定義のSELECT句には以下のものが含まれることができません重要

SELECTステートメントSystem_CAPS_ICON_important.jpgは、ORDER BY句でのみ がTOPまたはOFFSET句のiで返される行を決定するために使用されますnビュー定義。 ORDER BY節は、ビューが照会されたときの順序付き結果である、 のORDER BYも照会自体で指定されていない限り、保証しません。

+0

非常に短い、ありがとう –

関連する問題