显示视图sql时出错

时间:2013-11-04 10:09:38

标签: mysql sql view

我用SQL查询创建了一个视图:

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

当我执行查询时,它表示View已成功创建。但是当我尝试使用此查询显示其列时

select * from data.rightview;

我收到了这个错误:

  

错误代码1356,SQL状态HY000:查看'data.rightview'引用   无效的表格或列或功能或定义/调用者   查看缺乏使用它们的权利

4 个答案:

答案 0 :(得分: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;

答案 1 :(得分: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 ...

答案 2 :(得分: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;
  

将有效..

答案 3 :(得分:0)

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