尝试使用示例数据库创建视图但似乎无法获取它
Trying to make a view with a sample database and cannot seem to get it
我正在尝试为具有升序英文描述的产品创建视图。也将其命名为 LastName_vProductLinesUSA
.
以下是数据库的一些截图:
- Database overview
SalesLT.vProductandDescription
SalesLT.Product
- SalesLT.ProductDescription
我试过使用查询:
CREATE VIEW LastName_vProductLinesUSA
AS
SELECT
[ProductID], [Name], [ProductModel], [Description]
FROM
[SalesLT.vProductAndDescription]
ORDER BY
[Description];
但是当我尝试执行查询时出现此错误:
Msg 1033, Level 15, State 1, Procedure LastName_vProductLinesUSA, Line 4 [Batch Start Line 0]
The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP, OFFSET or FOR XML is also specified.
从视图中删除 ORDER BY:
CREATE VIEW LastName_vProductLinesUSA
AS SELECT [ ProductID ], [ Name ], [ ProductModel ], [ Description ]
FROM [ SalesLT.vProductAndDescription ]
ORDER BY [ Description ] ; <--- remove this
没有它:
CREATE VIEW LastName_vProductLinesUSA
AS SELECT [ ProductID ], [ Name ], [ ProductModel ], [ Description ]
FROM [ SalesLT.vProductAndDescription ]
如果您想要对结果进行排序,请在 select 从视图中进行排序:
SELECT * FROM LastName_vProductLinesUSA
ORDER BY [ Description ] ;
旁注,关于风格;方括号相当丑陋。如果你试图通过用空格包围它们来使它们更漂亮,请考虑删除方括号(并努力不使用标识符的保留字,这样你就可以继续避免使用 [ ])
如果需要有序视图,则必须使用 Top 100 percent
CREATE VIEW LastName_vProductLinesUSA
AS SELECT TOP 100 PERCENT [ ProductID ], [ Name ], [ ProductModel ], [ Description ]
FROM [ SalesLT.vProductAndDescription ]
ORDER BY [ Description ] ;
我正在尝试为具有升序英文描述的产品创建视图。也将其命名为 LastName_vProductLinesUSA
.
以下是数据库的一些截图:
- Database overview
SalesLT.vProductandDescription
SalesLT.Product
- SalesLT.ProductDescription
我试过使用查询:
CREATE VIEW LastName_vProductLinesUSA
AS
SELECT
[ProductID], [Name], [ProductModel], [Description]
FROM
[SalesLT.vProductAndDescription]
ORDER BY
[Description];
但是当我尝试执行查询时出现此错误:
Msg 1033, Level 15, State 1, Procedure LastName_vProductLinesUSA, Line 4 [Batch Start Line 0]
The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP, OFFSET or FOR XML is also specified.
从视图中删除 ORDER BY:
CREATE VIEW LastName_vProductLinesUSA
AS SELECT [ ProductID ], [ Name ], [ ProductModel ], [ Description ]
FROM [ SalesLT.vProductAndDescription ]
ORDER BY [ Description ] ; <--- remove this
没有它:
CREATE VIEW LastName_vProductLinesUSA
AS SELECT [ ProductID ], [ Name ], [ ProductModel ], [ Description ]
FROM [ SalesLT.vProductAndDescription ]
如果您想要对结果进行排序,请在 select 从视图中进行排序:
SELECT * FROM LastName_vProductLinesUSA
ORDER BY [ Description ] ;
旁注,关于风格;方括号相当丑陋。如果你试图通过用空格包围它们来使它们更漂亮,请考虑删除方括号(并努力不使用标识符的保留字,这样你就可以继续避免使用 [ ])
如果需要有序视图,则必须使用 Top 100 percent
CREATE VIEW LastName_vProductLinesUSA
AS SELECT TOP 100 PERCENT [ ProductID ], [ Name ], [ ProductModel ], [ Description ]
FROM [ SalesLT.vProductAndDescription ]
ORDER BY [ Description ] ;