Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果sql使用COUNT()对特定人员进行了计数,我如何知道这些选定人员使用的是他们的id?_Php_Sql_Arrays - Fatal编程技术网

Php 如果sql使用COUNT()对特定人员进行了计数,我如何知道这些选定人员使用的是他们的id?

Php 如果sql使用COUNT()对特定人员进行了计数,我如何知道这些选定人员使用的是他们的id?,php,sql,arrays,Php,Sql,Arrays,如果sql使用COUNT()对特定的人员进行了计数,我如何知道这些被选中的人员使用此查询使用其id? 例如,如果算上5个非HMS主板,他们是谁/他们的ID是什么 SELECT long_posname, COUNT( CASE WHEN employment_status LIKE 'ON BOARD' and trim(groupID)='grp320952d8919d7

如果sql使用COUNT()对特定的人员进行了计数,我如何知道这些被选中的人员使用此查询使用其id? 例如,如果算上5个非HMS主板,他们是谁/他们的ID是什么

                SELECT long_posname,            
                COUNT( 
                CASE WHEN employment_status LIKE  'ON BOARD' and trim(groupID)='grp320952d8919d763a8'
                THEN 1 
                ELSE NULL 
                END ) AS  'hmsonboard',

                COUNT( 
                CASE WHEN employment_status LIKE  'VACATION' and trim(groupID)='grp320952d8919d763a8'
                THEN 1 
                ELSE NULL 
                END ) AS  'hmsonvacation',

                COUNT( 
                CASE WHEN employment_status LIKE  'ON BOARD' and trim(groupID)='grp320952d8919d763a8'
                THEN 1 
                ELSE NULL 
                END ) + COUNT( 
                CASE WHEN employment_status LIKE  'VACATION' and trim(groupID)='grp320952d8919d763a8'
                THEN 1 
                ELSE NULL 
                END ) AS  'hmstotal',

                COUNT( 
                CASE WHEN employment_status LIKE  'ON BOARD' and trim(groupID)!='grp320952d8919d763a8'
                THEN 1 
                ELSE NULL 
                END ) AS  'nonhmsonboard',

                COUNT( 
                CASE WHEN employment_status LIKE  'VACATION' and trim(groupID)!='grp320952d8919d763a8'
                THEN 1 
                ELSE NULL 
                END ) AS  'nonhmsonvacation',

                COUNT( 
                CASE WHEN employment_status LIKE  'ON BOARD' and trim(groupID)!='grp320952d8919d763a8'
                THEN 1 
                ELSE NULL 
                END ) + COUNT( 
                CASE WHEN employment_status LIKE  'VACATION' and trim(groupID)!='grp320952d8919d763a8'
                THEN 1 
                ELSE NULL 
                END ) AS  'nonhmstotal',

                COUNT( 
                CASE WHEN employment_status LIKE  'ON BOARD'
                THEN 1 
                ELSE NULL 
                END ) + COUNT( 
                CASE WHEN employment_status LIKE  'VACATION'
                THEN 1 
                ELSE NULL 
                END ) AS  'total', crewID

                FROM (

                SELECT tb_crew_master.groupID, tb_crew_master.crewID, MAX( date_arrive ) , tb_crew_master.empstatID, pl_employment_status.employment_status, long_posname, pos_arrangement, tb_crew_master.posID
                FROM tb_crew_master
                INNER JOIN tb_crew_seaservice ON tb_crew_master.crewID = tb_crew_seaservice.crewID
                INNER JOIN pl_position ON pl_position.posID = tb_crew_master.posID
                INNER JOIN pl_employment_status ON pl_employment_status.empstatID = tb_crew_master.empstatID
                INNER JOIN tb_vessel ON tb_vessel.vesID = tb_crew_seaservice.vesID 
                INNER JOIN pl_vessel_type ON pl_vessel_type.vestypeID = tb_vessel.vestypeID
                WHERE tb_crew_master.is_inactive = 'N' and pl_vessel_type.vestypeID='typ249225370585e575f8'
                GROUP BY tb_crew_seaservice.crewID 
                ) AS t
                GROUP BY posID
                ORDER BY pos_arrangement

不确定,但使用
crewID
列(假设来自您发布的查询代码)或任何其他
ID
各表中的列(pl\u employment\u status表中的ID列),如

选择crewID,
长的名字,
计数(
就业状况如“在船”时的情况
而trim(groupID)='grp320952d8919d763a8'
那么1
否则无效
结束)作为“HMSONBORD”,
.......
.........
按crewID、long_posname分组
按pos_安排订购

@ralphcuneta_user3530269,恕我冒犯,但如果答案有帮助,请不要忘记接受。
            SELECT crewID,
            long_posname,            
            COUNT( 
            CASE WHEN employment_status LIKE  'ON BOARD' 
            and trim(groupID)='grp320952d8919d763a8'
            THEN 1 
            ELSE NULL 
            END ) AS  'hmsonboard',

            .......

             <Rest of your code>

            .........


            GROUP BY crewID,long_posname
            ORDER BY pos_arrangement