如何在加入时DATE 2列

时间:2014-04-02 16:29:21

标签: php mysql codeigniter

当我在同一天但不同的时间加入我的2张桌子时,我需要使用DATE()才能获得一天。所以我的查询是这样的:

$this->db->join('expense_invoice', 'DATE(expense_invoice.date) = DATE(revenue_invoice.date)');

但是codeigniter弄错了,这个结果就像这样

ON `DATE`(`expense_invoice`.`date))` = DATE(revenue_invoice.date) 

那么加入它们时,如何将这两列作为日期()?谢谢。

1 个答案:

答案 0 :(得分:2)

您尝试加入这样的事实表明您的设计存在问题。我知道它没有回答你的直接问题,我可以给你快速复制/过去的答案解析日期,但它会导致你在中期无处可去。你能想到两者之间的关系吗?  expense_invoice和revenue_invoice?你能用外键链接它们吗?如果是这样,那么您应该首先加入它们,然后仅在其中一个域对象上按日期实现过滤器。否则,您可能会冒险将数据汇总到不同的订单/客户等 - 恰好发生在同一天。

PS:如果可以,我会在评论中提出问题;)