MySQL视图创建

时间:2014-03-18 00:24:41

标签: mysql

我有两张桌子:

parking_lot
    id
    name


parking_spot
    id
    parking_lot_id
    available

我想创建一个如下所示的视图:

parking_lot_view
    id
    name
    num_spots_available

创建此视图的查询对于MySQL数据库会是什么?

2 个答案:

答案 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