MySQL视图创建
我有两张桌子:MySQL视图创建,mysql,Mysql,我有两张桌子: parking_lot id name parking_spot id parking_lot_id available 我想创建一个如下所示的视图: parking_lot_view id name num_spots_available 为MySQL数据库创建此视图的查询是什么?这是一个简单的查询,因此我假设您对MySQL和数据库非常陌生。你一定要试着了解这是怎么回事,并深入研究这一主题: create
parking_lot
id
name
parking_spot
id
parking_lot_id
available
我想创建一个如下所示的视图:
parking_lot_view
id
name
num_spots_available
为MySQL数据库创建此视图的查询是什么?这是一个简单的查询,因此我假设您对MySQL和数据库非常陌生。你一定要试着了解这是怎么回事,并深入研究这一主题:
create view parking_lot_view as
select pl.id, pl.name, sum(available) as NumAvailable
from parking_spot ps join
parking_lot pl
on ps.parking_lot_id = pl.id
group by pl.id, pl.name;
这假设
可用
在可用时为1
,否则为0
。如果需要创建视图,首先创建一条Select SQL语句,将需要的任何表连接起来。然后您只需在开头添加“createview-AS”并执行
在您的特定情况下,这应该可以做到(我假设“available”是一个整数,其中0表示不可用,1表示可用,因为您在问题中没有指定):
创建停车场视图
选择L.id、L.name、计数(*)可用的\u点
从停车场L内部连接S上的停车场S。停车场id=L.id
其中S.0可用
按L.id、L.name分组
CREATE VIEW parking_lot_view AS
select L.id, L.name, count(*) available_spots
from parking_lot L inner join parking_spot S on S.parking_lot_id = L.id
where S.available <> 0
group by L.id, L.name