Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Select命令不返回任何内容_Mysql_Sql - Fatal编程技术网

Mysql Select命令不返回任何内容

Mysql Select命令不返回任何内容,mysql,sql,Mysql,Sql,我需要显示每个医生的可用小时数,但我的代码不返回任何内容 这是我的密码: SELECT DISTINCT Hours FROM agenda_hours, doctor WHERE Agenda_Hours.idHours NOT IN (SELECT DISTINCT appoitment_hour.Hour FROM appoitment_hour) AND Doctor.Name IN (SELECT Doctor.Name FROM Doctor Where name = "Name")

我需要显示每个医生的可用小时数,但我的代码不返回任何内容 这是我的密码:

SELECT DISTINCT Hours
FROM agenda_hours, doctor
WHERE Agenda_Hours.idHours NOT IN (SELECT DISTINCT appoitment_hour.Hour FROM appoitment_hour)
AND Doctor.Name IN (SELECT Doctor.Name FROM Doctor Where name = "Name");
这是表的说明

+---------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | Name | varchar(100) | NO | | NULL | | | CRM | varchar(20) | NO | | NULL | | | Tel | varchar(10) | YES | | NULL | | | Cel | varchar(10) | YES | | NULL | | | RG | varchar(40) | YES | | NULL | | | CPF | varchar(50) | YES | | NULL | | | Street | varchar(120) | YES | | NULL | | | num | varchar(7) | YES | | NULL | | | bairro | varchar(40) | YES | | NULL | | | city | varchar(70) | YES | | NULL | | | zip | varchar(13) | YES | | NULL | | | datanasc | varchar(20) | YES | | NULL | | | Especiality | varchar(100) | YES | | NULL | | +---------------+--------------+------+-----+---------+-------+
您的查询在小时和医生之间进行交叉联接,然后查找不在小时列表中的小时。当然,它不会返回任何内容

我想你想要这样的东西:

select DoctorHour.*
from (select d.Name, a.hour
      from Doctor d cross join
           (select distinct hour from Appointment) a
     ) DoctorHour left outer join
     Appointment a
     on a.name = DoctorHour.name and
        a.hour = DoctorHour.hour
where a.name is null;

这将获得所有未使用的插槽。

除了查询的正确性或不正确性之外,您还有一些错误

您引用了其中一个表agenda_hours和agenda_hours,这可能会导致错误。根据报告:

尽管在某些情况下数据库和表名不区分大小写 平台,不应使用 同一语句中的不同情况。以下声明 将不起作用,因为它将一个表同时引用为my_表和as 我的桌子:

mysql>从my_table中选择*,其中my_table.col=1


此外,您的现场任命时间似乎有输入错误。可能是预约时间了。因此,您可能会遇到未知列错误。

如果没有看到任何实际数据,我们将无法帮助您。请尝试将约会时间更改为约会时间?