如何修复数据库中的表的未知表?

时间:2016-02-25 10:05:39

标签: mysql

我收到此错误:

  

错误1051:未知表'员工'

这是我的代码:

 CREATE DEFINER=`u24290718`@`%` PROCEDURE `eval5_get_charter_details_by_pilot_date`(in fromdate DATE, todate DATE, pilotname VARCHAR(50))
BEGIN

    if (pilotname = 'all')
    THEN
        SELECT aviaco.pilot.*, aviaco.employee.*

        FROM aviaco.pilot

        JOIN aviaco.employee AS emp on aviaco.pilot.EMP_NUM = aviaco.employee.EMP_NUM;

    ELSE
        SELECT aviaco.pilot.*, aviaco.employee.*

        FROM aviaco.pilot

        JOIN aviaco.employee AS emp on aviaco.pilot.EMP_NUM = aviaco.employee.EMP_NUM

        WHERE aviaco.pilot.PIL_MED_DATE = fromdate & aviaco.pilot.PIL_PT135_DATE = todate;
    END IF;
END

所以问题是我不断得到未知的表employee。我在大学服务器上使用数据库,员工表就在那里!我不知道我做错了什么。

1 个答案:

答案 0 :(得分:1)

我相信这是你的问题:

aviaco.employee AS emp

因此您的查询(而不是您的数据库)现在将employee表格视为emp。这意味着你应该指向它,例如(可能有更多的地方!),你不能这样做

SELECT aviaco.pilot.*, aviaco.employee.*

但应该

SELECT aviaco.pilot.*, emp.*

并且在联接中它应该是emp.EMP_NUM等。