在 mysql 中使用连接和 DATEDIFF() 创建视图

Creating a view using join and DATEDIFF() in mysql

我知道已经有人问过关于使用连接创建视图的问题,这很好,除了这里我试图包含日期差异。

我有一个名为 'appointments' 的 table 和一个名为 'bill' 的 'bill',具有 FK AppID。

我想创建一个视图,包含 BillNo(账单编号)、PatientID 和日期

CREATE VIEW overdue_payments AS
    SELECT bill.BillNo, appointment.AppID, appointment.AppDate
        FROM bill,appointment
        WHERE bill.AppID=appointment.AppID
        AND DATEDIFF(AppDate, CURDATE())>30

已使用且代码实现但未添加过期的测试日期:

CREATE VIEW overdue_payments2 AS

    SELECT bill.BillNo, appointment.AppID, appointment.AppDate
        FROM bill,appointment
        inner join appointment on bill.AppID=appointment.AppID
        where DATEDIFF(AppDate, CURDATE())>30

然后我尝试使用内部联接,但出现 'non-unique table' 错误。

非常感谢任何帮助。

您的第一个查询使用了长期弃用的逗号交叉连接语法:

    FROM bill,appointment
    WHERE bill.AppID=appointment.AppID

要将其更改为现代的显式连接语法,您需要:

    FROM bill
    INNER JOIN appointment ON bill.AppID=appointment.AppID

但是您在帐单上留下了“,appointment”,所以它抱怨您试图在不提供别名的情况下两次加入约会。只需删除“,约会”。