$sql = $pdo->query('SELECT p.* FROM prospects p
LEFT JOIN exported_leads e
on p.id = e.lead_id WHERE DATEDIFF(NOW(), e.last_export_date) > 90 AND e.p". $partner_id ." IS NULL');
这是我正在使用的查询。这是db的外观(通过一些例子): http://i.imgur.com/KrOv36e.png
这里是db的结构:http://i.imgur.com/pqYXPuw.png
如您所见,export_id = 5的行的last_export_date超过90天前。所以,如果我删除
AND e.p". $partner_id ." IS NULL')
从查询中,它找到该行。但是,如果我仍然拥有它,我的专栏中填充的是p2。然后你可以看到该字段为NULL。这意味着IS NULL应该有效吗?但是,当我运行查询时,它找不到该行。
每当我导入到该表时,我都会自动将除了一个p *字段之外的所有字段设置为NULL。你可以看到它在db中的值为NULL。 我假设查询没有看到这些值为NULL,所以我怎么能改进这个查询来实际找到那些说" NULL"?
的列答案 0 :(得分:0)
你搞砸连接&引用:
$sql = $pdo->query('SELECT p.*
FROM prospects p
LEFT JOIN exported_leads e ON p.id = e.lead_id
WHERE DATEDIFF(NOW(), e.last_export_date) > 90
AND e.p' . $partner_id . ' IS NULL');