2013-11-21 59 views
0

我试图将下面的代码转换为codeigniter活动记录,但没有任何成功。我在这里搜索任何相关的问题,但我在这里找到的那​​个codeigniter active record nested query不适合我。CodeIgniter嵌套查询问题

下面是SQL我试图转换

SELECT "BCB_ID","BCB_COST_CENTRE_NUMBER","BCB_TRANSFER_DATE","BCB_ARRIVAL_SEQUENCE","BCB_LOCATION_TYPE", "BCB_REFERENCE", 
SUM(cfb) as CFB, SUM(ctb) as CTB, SUM(cts) as CTS, SUM(cfs) as CFS 
FROM(SELECT "BCB_ID","BCB_COST_CENTRE_NUMBER", "BCB_DATE", "BCB_ARRIVAL_SEQUENCE","BCB_LOCATION_TYPE", "BCB_TRANSFER_DATE", "BCB_REFERENCE", "BCB_SOURCE", 
    SUM(BCB_CASH_FROM_BANK)as CFB, SUM(BCB_CASH_TO_BANK) as CTB, SUM(BCB_CASH_TO_SHOPS)as CTS, SUM(BCB_CASH_FROM_SHOPS) as CFS 
    FROM "WHOUSE1"."DLY_BWR_CASH_AND_BANKING" 
    WHERE "BCB_COST_CENTRE_NUMBER" = '1222' 
    AND "BCB_TRANSFER_DATE" >= 20130130 
    and bcb_source in ('A','C') 
    GROUP BY "BCB_ID","BCB_COST_CENTRE_NUMBER", "BCB_DATE", "BCB_ARRIVAL_SEQUENCE", "BCB_LOCATION_TYPE", "BCB_TRANSFER_DATE", "BCB_REFERENCE", "BCB_SOURCE" 
    ORDER BY "BCB_TRANSFER_DATE" DESC 
    ) 
GROUP BY "BCB_ID", "BCB_COST_CENTRE_NUMBER", "BCB_TRANSFER_DATE", "BCB_ARRIVAL_SEQUENCE", "BCB_LOCATION_TYPE", "BCB_REFERENCE" 
ORDER BY "BCB_TRANSFER_DATE" DESC 

任何帮助将十分赞赏。由于

+0

喜奔您的帮助将不胜感激。谢谢 – Rebe24

回答

0
$this->db->query("SELECT "BCB_ID","BCB_COST_CENTRE_NUMBER","BCB_TRANSFER_DATE","BCB_ARRIVAL_SEQUENCE","BCB_LOCATION_TYPE", "BCB_REFERENCE", 
SUM(cfb) as CFB, SUM(ctb) as CTB, SUM(cts) as CTS, SUM(cfs) as CFS 
FROM(SELECT "BCB_ID","BCB_COST_CENTRE_NUMBER", "BCB_DATE", "BCB_ARRIVAL_SEQUENCE","BCB_LOCATION_TYPE", "BCB_TRANSFER_DATE", "BCB_REFERENCE", "BCB_SOURCE", 
    SUM(BCB_CASH_FROM_BANK)as CFB, SUM(BCB_CASH_TO_BANK) as CTB, SUM(BCB_CASH_TO_SHOPS)as CTS, SUM(BCB_CASH_FROM_SHOPS) as CFS 
    FROM "WHOUSE1"."DLY_BWR_CASH_AND_BANKING" 
    WHERE "BCB_COST_CENTRE_NUMBER" = '1222' 
    AND "BCB_TRANSFER_DATE" >= 20130130 
    and bcb_source in ('A','C') 
    GROUP BY "BCB_ID","BCB_COST_CENTRE_NUMBER", "BCB_DATE", "BCB_ARRIVAL_SEQUENCE", "BCB_LOCATION_TYPE", "BCB_TRANSFER_DATE", "BCB_REFERENCE", "BCB_SOURCE" 
    ORDER BY "BCB_TRANSFER_DATE" DESC 
    ) 
GROUP BY "BCB_ID", "BCB_COST_CENTRE_NUMBER", "BCB_TRANSFER_DATE", "BCB_ARRIVAL_SEQUENCE", "BCB_LOCATION_TYPE", "BCB_REFERENCE" 
ORDER BY "BCB_TRANSFER_DATE" DESC");////TRY THIS CODE 

---而这个链接收视指南http://ellislab.com/codeigniter/user-guide/database/results.html

+0

谢谢丹麦,我想看看我是否可以用Active记录来完成,因为我花了很多时间写MY_Model控制器。我想我会更好地使用$ this-> db-> query(),正如你所建议的那样。 – Rebe24

+0

如果你使用单独查询的混淆,那么更好地使用它,没有问题 – Denmark