显示错误行的mysql查询

显示错误行的mysql查询,mysql,Mysql,我有一个查询,当前应该只显示一行。然而,它以某种方式显示了4行作为其结果集,即使1)表中只有三行以2)只有一行与查询条件匹配 我希望有人知道我在这个MySql查询中做错了什么 我的数据库表结构如下所示 smsid (int, auto increment), sms_type (text), sms_status (enum 'pending',sent'), sms_error (test), sms_message(text), sms_mp3file (varchar 50), sms_

我有一个查询,当前应该只显示一行。然而,它以某种方式显示了4行作为其结果集,即使1)表中只有三行以2)只有一行与查询条件匹配

我希望有人知道我在这个MySql查询中做错了什么

我的数据库表结构如下所示

smsid (int, auto increment), sms_type (text), sms_status (enum 'pending',sent'), sms_error (test), sms_message(text), sms_mp3file (varchar 50), sms_sendon (datetime), send_sms_toid (int 5)
SELECT sms_messages.*, sms_recipients.cust_profid, sms_recipients.sms_cellnumber, 
customer_smsnumbers.sms_number, customer_smsnumbers.sms_number 
FROM sms_messages, sms_recipients, customer_smsnumbers
WHERE sms_messages.sms_type='mp3' AND  sms_messages.sms_sendon <= '2013-11-21' 
AND sms_messages.sms_status='pending' AND 
sms_messages.send_sms_toid = sms_recipients.smsuser_id
smsid(整数,自动递增)、sms_类型(文本)、sms_状态(枚举“待定”,已发送”), sms_错误(测试)、sms_消息(文本)、sms_MP3文件(varchar 50), 短信发送(日期时间),短信发送(int 5) 我的表格条目如下(按照上面表格列的顺序)

31 | mp3 | pending | | | | helloworld.mp3 | 2013-11-20 16:16:00 | 7 30 | text | sent | hello test | 2013-11-18 13:12:00 | 8 29 |语音|发送|测试123 | 2013-11-18 10:05:00 | 18 我的问题如下

smsid (int, auto increment), sms_type (text), sms_status (enum 'pending',sent'), sms_error (test), sms_message(text), sms_mp3file (varchar 50), sms_sendon (datetime), send_sms_toid (int 5)
SELECT sms_messages.*, sms_recipients.cust_profid, sms_recipients.sms_cellnumber, 
customer_smsnumbers.sms_number, customer_smsnumbers.sms_number 
FROM sms_messages, sms_recipients, customer_smsnumbers
WHERE sms_messages.sms_type='mp3' AND  sms_messages.sms_sendon <= '2013-11-21' 
AND sms_messages.sms_status='pending' AND 
sms_messages.send_sms_toid = sms_recipients.smsuser_id
选择sms\U消息。*、sms\U recipients.cust\u profid、sms\U recipients.sms\u cellnumber、,
客户号、短信号、客户号、短信号
来自短信、短信收件人、客户短信成员

在查询中的sms_messages.sms_type='mp3'和sms_messages.sms_sendon中,您遗漏了
客户smsnumbers
表的
加入
子句。类似于
sms\u messages.send\u sms\u toid=sms\u recipients.smsuser\u id
您需要有一个连接子句,该子句可以
将sms\u messages
连接到
customer\u smsnumbers
表,或者将
sms\u recipients
连接到
customer\u smsnumbers


在没有join子句的情况下,结果中会包含其他(意外的)记录。

+1但当他们指责MySQL没有显示行时,我真正喜欢的是什么