【问题标题】:Codeigniter - Concat queryCodeigniter - Concat 查询
【发布时间】:2018-03-14 03:11:35
【问题描述】:

所以我有这张桌子

EMP_ID     SECTION       TEST     SAMPLE_NAME   QUANTITY
 1001     molecular       reo         heart         3
 1001     molecular       reo         spleen        4

这是我的模型代码。

$query = $this->db->select('section, quantity,test,sample_name')
            ->from('tblmastersection')
            ->where('emp_id', $emp_id)
            ->order_by("save_section_id", "asc")
            ->join('tblsavesection', 'tblmastersection.section_id = tblsavesection.section_id', 'inner')
            ->join('tbljoinedtests', 'tblsavesection.test_id = tbljoinedtests.test_id', 'inner')
            ->join('tblmastersample', 'tblsavesection.samp_id = tblmastersample.samp_id', 'inner')
            ->get();
    return $query->result();

我想做的就是让它变成这样..

EMP_ID     SECTION       TEST       SAMPLE_NAME        QUANTITY
 1001     molecular       reo       heart, spleen         7

具有相同EMP_ID 的行将连接并汇总数量。 有人请帮我重新设计我的代码。非常感谢。

【问题讨论】:

    标签: sql-server codeigniter concatenation


    【解决方案1】:

    我觉得你可以改成 sql Select 像这样:

    SELECT EMP_ID,sum(QUANTITY) QUANTITY , STUFF(( SELECT  ','+ SAMPLE_NAME FROM TableName a
    WHERE b.EMP_ID = a.EMP_ID FOR XML PATH('')),1 ,1, '')  Members
    FROM TableName b
    GROUP BY EMP_ID;
    

    【讨论】:

      【解决方案2】:

      所以我已经创建了一个 SQL-SERVER 查询来回答我的问题。我现在的问题是将其转换为 codeigniter 模型查询代码....

      这是我的 sql 查询....

      SELECT section, test, samp_id = 
      STUFF((SELECT ', ' + sample_name
             FROM tblsavesection 
             inner join tblmastersample
             on tblsavesection.samp_id = tblmastersample.samp_id
             WHERE emp_id = '1' AND tblsavesection.test_id = tbljoinedtests.test_id
            FOR XML PATH('')), 1, 1, '')
            ,SUM(quantity)as Quantity
      FROM tblsavesection
      inner join TblJoinedTests
      on TblSaveSection.test_id = TblJoinedTests.test_id
      inner join Tblmastersection
      on TblSaveSection.section_id = Tblmastersection.section_id
      GROUP BY test, section, tbljoinedtests.test_id
      

      谢谢! =)

      【讨论】:

        猜你喜欢
        • 2018-09-08
        • 2013-11-03
        • 2015-11-30
        • 2015-07-20
        • 2011-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-24
        相关资源
        最近更新 更多