Sql 需要帮助创建视图吗
我得到一个错误: ORDER BY子句在视图、内联函数、派生表、子查询和公共表表达式中无效,除非还指定了TOP、OFFSET或FOR XMLSql 需要帮助创建视图吗,sql,sql-server,tsql,Sql,Sql Server,Tsql,我得到一个错误: ORDER BY子句在视图、内联函数、派生表、子查询和公共表表达式中无效,除非还指定了TOP、OFFSET或FOR XML 如何解决此问题?这里的解决方案是从查询中删除orderby子句。如果要按name的特定顺序显示结果,可以在从视图中选择数据时执行此操作。这里的解决方案是从查询中删除order by子句。如果您想按name的特定顺序显示结果,您可以在从视图中选择数据时执行此操作。有一种方法可以做到这一点,但您可能应该按照建议在视图中进行排序。 不过,要破解它,您可以在SEL
如何解决此问题?这里的解决方案是从查询中删除
orderby
子句。如果要按name
的特定顺序显示结果,可以在从视图中选择数据时执行此操作。这里的解决方案是从查询中删除order by
子句。如果您想按name
的特定顺序显示结果,您可以在从视图中选择数据时执行此操作。有一种方法可以做到这一点,但您可能应该按照建议在视图中进行排序。
不过,要破解它,您可以在SELECT语句中使用TOP 100%
CREATE VIEW custowner
AS
(SELECT
RTRIM(p.FirstName)+ ' ' + p.LastName AS [name],
LEFT(p.Phone, 12) AS phone,
p.CellPhone AS cellphone,
LEFT(p.EMail, 22) AS email
FROM
CUSTOMER_OWNER co
INNER JOIN
PEOPLE p ON co.PeopleID = p.PeopleId
ORDER BY
name ASC);
它现在应该可以工作了,有一种方法可以做到,但您可能应该按照建议在视图上订购它。 不过,要破解它,您可以在SELECT语句中使用TOP 100%
CREATE VIEW custowner
AS
(SELECT
RTRIM(p.FirstName)+ ' ' + p.LastName AS [name],
LEFT(p.Phone, 12) AS phone,
p.CellPhone AS cellphone,
LEFT(p.EMail, 22) AS email
FROM
CUSTOMER_OWNER co
INNER JOIN
PEOPLE p ON co.PeopleID = p.PeopleId
ORDER BY
name ASC);
它现在应该可以工作了从错误中,我猜您使用的是Microsoft SQL Server而不是MySQL。请相应地更改标记,我喜欢错误告诉您错误所在,而您不尝试更改。如果列中不包含PeopleID,您将如何使用该视图?您还应该为视图采用命名约定,以便知道它是一个视图,例如,
create view custowner\u v
@Used\u By\u已经很好地说明了这一点。从错误中,我猜测您使用的是Microsoft SQL Server,而不是MySQL。请相应地更改标记,我喜欢错误告诉您错误所在,而您不尝试更改。如果列中不包含PeopleID,您将如何使用该视图?您还应该为视图采用命名约定,以便知道它是一个视图,例如,create view custowner\u v
@Used\u By\u已经很好地说明了这一点。谢谢@Harshil,我忘了您不能在create view语句中使用order By子句谢谢@Harshil,我忘了您不能在create view语句中使用order By子句