Mysql 从SQL语句获取空集

Mysql 从SQL语句获取空集,mysql,sql,Mysql,Sql,当我输入这个SQL语句时,我得到了一个空集,有人能告诉我为什么吗 select ayr,mods.mid,mtitle,credits from mods,comp where mods,mid = comp.mid and ayr = 2001/02; 当省略'ayr=2001/02'时,它显示正确的内容。您确定where子句之后应该是mods,mid而不是mods.mid,在SELECT语句之后没有以正确的方式输入表名吗 根据我的建议,您应该输入mods.mid 请尝试以下语法:- s

当我输入这个SQL语句时,我得到了一个空集,有人能告诉我为什么吗

select ayr,mods.mid,mtitle,credits 
from mods,comp 
where mods,mid = comp.mid and ayr = 2001/02;

当省略'ayr=2001/02'时,它显示正确的内容。

您确定
where
子句之后应该是
mods,mid
而不是
mods.mid
,在
SELECT
语句之后没有以正确的方式输入表名吗

根据我的建议,您应该输入
mods.mid

请尝试以下语法:-

select ayr,mods,mtitle,credits from mods,comp where mods.mid = comp.mid and ayr = 2001/02;

发布输出

您需要在日期前后加上引号

select ayr,mods.mid,mtitle,credits 
from mods,comp 
where mods,mid = comp.mid and ayr = '2001/02';

即使删除
ayr=..
,您的查询在语法上也是错误的。应该是
其中mods.mid=..
您有一个逗号。嗨,michelle。欢迎来到StackOverflow!。您必须将日期值用单引号括起来,并将日期值的格式设置为:
2001-02
请不要使用旧的基于逗号的隐式联接,而使用现代的连接方式。您的数据库对
ayr
有什么功能?另外,您希望
2001/02
是什么意思?也许你的意思是“
和ayr regexp”^200[12]$”
逗号是我在键入帖子时犯的错误,对不起。Ahmad,你能详细说明一下吗?它返回空集,但当执行ayr='2001/02'时,它是有效的。是的,你是对的,日期/时间和时间戳数据类型需要引号,就像字符串一样。我的错误我一眼就没注意到不客气。