我有两张桌子:
parking_lot
id
name
parking_spot
id
parking_lot_id
available
我想创建一个如下所示的视图:
parking_lot_view
id
name
num_spots_available
创建此视图的查询对于MySQL数据库会是什么?
答案 0 :(得分:0)
这是一个简单的查询,因此我假设您对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;
这假定available
可用时为1
,否则为0
。
答案 1 :(得分:0)
如果您需要创建视图,首先要创建一个Select SQL Statement,连接您需要的任何表。然后你只需添加"创建视图"在开头和执行。
在你的具体情况下,这应该是诀窍(我假设'可用'是一个整数,其中包含0表示不可用,1表示可用,因为你没有在你的问题中指明):
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