如何使用其他表中的数据创建此视图

Posted

技术标签:

【中文标题】如何使用其他表中的数据创建此视图【英文标题】:How to create this view using data from other tables 【发布时间】:2018-04-24 11:27:19 【问题描述】:

我有一个带有以下表格的 mysql 数据库。

游览表

Excursion ID    |  Port ID   |    Excursion Name

预订表

Booking ID  |  User ID  |  Excursion ID  |  Number of People  | Event Date

当从预订表中给定特定用户 ID 时,我希望能够创建一个视图,如下图所示。

Booking ID   |  Excursion Name  |  Excursion  ID    |  Number of People

【问题讨论】:

首先创建一个有效的选择语句,然后创建视图dev.mysql.com/doc/refman/8.0/en/views.html,如果遇到麻烦,请在此处发布您尝试过的内容。 将表结构复制到问题中。如果你不这样做,有人会投票赞成关闭你的问题。 How do I create a view in MySQL?的可能重复 @RubioRic 我可以创建一个视图,这就是问题所在 @Victor 好的,刚刚做到了 【参考方案1】:

试试这个:

CREATE VIEW Your_View_Name AS
SELECT BT.Booking_ID, ET.Excursion_Name, ET.Excursion_ID,BT.Number_of_People
FROM Excursion_Table ET
JOIN Bookings_Table BT ON ET.Excursion_ID = BT.Excursion_ID
WHERE BT.User ID = ????;

【讨论】:

【参考方案2】:
CREATE VIEW `yourDB`.`yourViewName` AS
SELECT 
    `a`.`BookingID` AS `BookingID`,
    `b`.`ExcursionName` AS `ExcursionName`,
    `b`.`ExcursionID` AS `ExcursionID`,
    `a`.`NumberOfPeople` AS `NumberOfPeople`
FROM
    (`yourDB`.`BookingsTable` `a`
    JOIN `yourDB`.`ExcursionsTable` `b`)
WHERE
    (`a`.`UserID` = 'YourValue')

希望这能解决您的问题。

【讨论】:

以上是关于如何使用其他表中的数据创建此视图的主要内容,如果未能解决你的问题,请参考以下文章

如何使用两个表中的数据创建视图

如何在 SQL 中使用其他表中的数据创建小计

Laravel - 如何使用 ajax 显示其他表中的数据

如何从 laravel 框架中的模型中的表中获取数据并直接在视图中使用?

如何使用 Angular 视图中的内容创建 PDF?

使用其他表的列从表中删除