0

我创建了一个带有 SQL 查询的视图:

CREATE VIEW rightview
AS 
SELECT data.accounts.login,data.accounts.password,data.customers.right_
FROM data.accounts join data.customers using (id);

当我单击执行查询时,它表明视图已成功创建。但是当我尝试用这个查询显示它的列时

select * from data.rightview;

我收到了这个错误:

错误代码 1356,SQL 状态 HY000:视图“data.rightview”引用无效的表或列或函数或视图的定义者/调用者缺乏使用它们的权限

4

4 回答 4

0

尝试使用表别名

CREATE VIEW rightview
AS 
SELECT account.login,account.password,customer.right_
FROM data.accounts as account join data.customers as customer using (id);

select * from rightview;
于 2013-11-04T10:13:46.287 回答
0

恕我直言,更好的是:

CREATE VIEW rightview
AS
SELECT acc.login, acc.password, cust.right_
FROM data.accounts acc
LEFT JOIN data.customers cust on acc.id=cust.id

如果表客户包含引用表帐户的列 ID...

于 2013-11-04T10:30:12.890 回答
0

试试这个。。

CREATE VIEW rightview
AS SELECT a.login,a.password,b.right_
FROM accounts a INNER JOIN customers b
on a.id = b.id;

然后,

select * from rightview;

将工作..

于 2013-11-04T11:57:24.973 回答
0

我得到了同样的错误。我解决了从原始数据库中的原始视图处理所有代码并粘贴到 bkp_db 创建其他视图...

于 2017-06-13T15:13:44.593 回答