我有两张桌子,我想加入。我想为这两个表执行INNER JOIN以获得我想要的结果,但它似乎没有工作。每次我运行查询时,我只是得到一个加载...通知,显示时间太长,几分钟后,我收到此消息:
处理请求中的错误。错误代码500.内部服务器错误。
基本上我希望得到这种格式的结果:
ex。)期望的结果:
Jane Doe, 082 980 9514
Home Loan Applications (Active) - 17/07/2013
Credit Report (Free Report) (Unsubscribed) 12/06/2013
以下是示例表的链接: 的 Tables
您会注意到Jane Doe订阅了两个列表(房屋贷款申请和信用报告),因此结果中列出了两个列表。然后,她已经取消订阅信用报告,这就是为什么旁边有(取消订阅)的原因。
这是我使用的SQL语句:
SELECT emailaddress, subscribedate, unsubscribed
FROM `interspire_subscriber`
INNER JOIN `interspire_customfield` ON interspire_subscriber.subscriberid =
interspire_customfield.subscriberid
我不知道为什么会收到错误。有没有办法只用mySQL来实现这个目的?或者我还会在PHP中做些什么来获得这个?
由于76,000多条记录,该脚本的执行速度似乎太慢了。
更新:正如所建议的那样,我已将两个表上的subscriberids设置为索引,并且查询工作正常。目前我使用这个mysql语句:
SELECT interspire_customfield.subscriberid, interspire_customfield.fname,
interspire_customfield.lname, interspire_customfield.phone, emailaddress,
subscribedate, unsubscribed, interspire_customfield.listid, listname
FROM`interspire_subscriber` INNER JOIN `interspire_customfield` ON
interspire_subscriber.subscriberid = interspire_customfield.subscriberid
但它仍然没有列出用户订阅的所有列表。