我创建了一个视图表,我试图从
查询drop view if exists salesdata;
create view SalesData as
select orders.order_id, items.item_id, (order_details.order_qty * items.unit_price) as ItemTotal, items.title, artists.artist_id
from orders
join order_details
on orders.order_id = order_details.order_id
join items
on order_details.item_id = items.item_id
join artists
on items.artist_id = artists.artist_id
order by artists.artist_id
;
select * from salesdata;
select artists.artist_id, sum(order_details.order_qty * items.unit_price) as TotalSales
from SalesData;
但是每当我尝试完成查询时
select artists.artist_id, sum(order_details.order_qty * items.unit_price) as TotalSales
from SalesData;
生病得到以下错误
Error Code: 1054. Unknown column 'artists.artist_id' in 'field list'
答案 0 :(得分:1)
您必须选择视图中描述的字段,请尝试:
select artists.artist_id, sum(ItemTotal) as TotalSales from SalesData;
答案 1 :(得分:0)
视图中的列名不包含create view ... as select
语句中的表名前缀,因此在查询视图时不要包含它们:
select artist_id, sum(order_qty * unit_price) as TotalSales
from SalesData;
您还可以使用以下命令在视图中查看列名称:
describe SalesData;