我在WordPress SQL数据库中有以下表格....
wp_rg_lead
id form_id post_id date_created
--------------------------------------------------
3 | 5 | 786 | 2014-11-25 14:00:20
9 | 6 | 98 | 2014-11-23 22:52:40
5 | 7 | 87 | 2014-11-22 14:32:46
6 | 1 | 88 | 2014-11-22 23:13:39
78 | 33 | 689 | 2014-11-25 22:52:40
34 | 51 | 77 | 2014-11-24 14:00:20
wp_rg_lead_detail
id lead_id form_id field number
--------------------------------------------------
3 | 5 | 786 | 33
9 | 6 | 98 | 4
5 | 7 | 87 | 21
6 | 1 | 88 | 5
78 | 33 | 689 | 55
34 | 51 | 77 | 1
我正试图像这样做一个INNER JOIN ......
SELECT *
FROM
wp_rg_lead
INNER JOIN wp_rg_lead_detail ON
wp_rg_lead.id=wp_rg_lead_detail.lead_id
WHERE form_id = '46'
and cast(date_created as date) >= current_date - interval '7' day;
但由于某些原因它没有返回任何结果,任何人都有任何想法?
答案 0 :(得分:2)
为什么JOIN wp_client_detail
?
而不是wp_client_detail
使用wp_rg_lead_detail
SELECT *
FROM
wp_rg_lead
INNER JOIN wp_rg_lead_detail ON
wp_rg_lead.id=wp_rg_lead_detail.lead_id
WHERE form_id = '46'
and cast(date_created as date) >= current_date - interval '7' day;
答案 1 :(得分:1)
假设这样的行确实存在,我建议您使用left join
以及表别名:
SELECT *
FROM wp_rg_lead l LEFT JOIN
wp_rg_lead_detail ld
ON l.id = ld.lead_id AND ld.form_id = '46'
WHERE cast(l.date_created as date) >= current_date - interval '7' day;
另一种可能性是查询返回错误。正如问题中所写,form_id
含糊不清,查询不会返回任何结果。你在检查是否有适当的错误?
答案 2 :(得分:1)
在不知道您的数据的情况下,进行故障排除变得更加困难, 我建议您打破查询并对每个部分进行故障排除。
只需删除(注释掉)每个部分,从哪里开始,如果你注释掉日期过滤器会发生什么(使用 - )
--and cast(date_created as date) >= current_date - interval '7' day;
没有数据?然后尝试做一个select,但只在wp_rg_lead上,其中form_id = 46,你还确定ID是一个字符数据类型吗?它正常工作正常,但比较时使用正确的数据类型是一种更好的做法,请使用不带条件的数字。
现在的结果是什么?
如果有结果,请尝试最后一部分,
select * from wp_rg_lead_detail where id = 46
这不能回答你的问题,但它可能会让你找到缺失的链接。