Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.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 使用union all then all all all all time一次只获取两列_Php_Codeigniter - Fatal编程技术网

Php 使用union all then all all all all time一次只获取两列

Php 使用union all then all all all all time一次只获取两列,php,codeigniter,Php,Codeigniter,每次仅获取两列时,我无法获取团队id和用户类型 SELECT `dev_user`.first_name,`dev_user`.user_id FROM `dev_test_teams_athlete` LEFT JOIN dev_user ON dev_test_teams_athlete.user_id = dev_user.user_id UNION ALL SELECT `dev_user`.first_name, `dev_test_team`.user_id as coach_id

每次仅获取两列时,我无法获取团队id和用户类型

SELECT `dev_user`.first_name,`dev_user`.user_id FROM `dev_test_teams_athlete` LEFT JOIN dev_user ON dev_test_teams_athlete.user_id = dev_user.user_id UNION ALL SELECT `dev_user`.first_name, `dev_test_team`.user_id as coach_id FROM `dev_user` RIGHT JOIN dev_test_team ON dev_test_team.user_id = dev_user.user_id UNION ALL SELECT dev_test_team.team_id,dev_test_teams_athlete.user_id as athlete FROM `dev_test_team` LEFT JOIN `dev_test_teams_athlete` ON `dev_test_team`.`team_id` = `dev_test_teams_athlete`.`team_id`
这是在查询中使用union all关键字时的结果

我得到了一个不想要的结果

我的开发测试团队表是

我的开发测试团队运动员表是

我的dev_用户表是

最后,我希望得到如图所示的结果

我想要这样的答案

-------------------------------------------
    user_id | first_name | user_type | team_id
    -------------------------------------------
    480         coach1       3          1
    472         coach2       3          2
    465         coach3       3          3

    380         athlete1     4          1 
    375         athlete2     4          2
    479         athlete3     4          3
    464         athlete4     4          3
============================================================


试一试。

先生,用户id未显示,团队id列名两次显示,我要求您回答第二个问题,请回答它,一个问题的答案是左回答我,请将
x
用户id放在
x
团队id
du
第一个名称之前,
du
user\u type
x
team\u id
如果您不想在两次内显示team id,请使用group by
SELECT
    `x`.`team_id`, `du`.`first_name`, `du`.`user_type`, `x`.`team_id`
FROM(
    SELECT `team_id`, `user_id` FROM `dev_test_team`

    UNION ALL

    SELECT `team_id`, `user_id` FROM `dev_test_teams_athlete`
) `x`
LEFT JOIN `dev_user` `du` ON `du`.`user_id` = `x`.`user_id`