Php 使用union all then all all all all time一次只获取两列
每次仅获取两列时,我无法获取团队id和用户类型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
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`