長度是:
mysql> select count(*) from projects join(select project_skills.skill_id from project_skills where project_skills.skill_id = 7) as s on projects.id = s.skill_id;
----------
| count(*) |
----------
| 869 |
----------
另一個長度是:
mysql> select count(*) from projects join(select project_frameworks.framework_id from project_frameworks where project_frameworks.framework_id = 3) as f on projects.id = f.framework_id;
----------
| count(*) |
----------
| 264 |
----------
我需要結合這些長度(結果)。
所以我想出了:
select count(*) from projects join(select project_skills.skill_id from project_skills where project_skills.skill_id = 7) as s on projects.id = s.skill_id join(select project_frameworks.framework_id from project_frameworks where project_frameworks.framework_id = 3) as f on projects.id = f.framework_id;
但長度是0....
我怎樣才能達到我的理想?
■ 表結構
專案 vs project_skills(一對多)
技能 vs project_skills(一對多)
專案 vs project_frameworks(一對多)
框架 vs project_frameworks(一對多)
project_skill(列:id、project_id、skill_id)
project_frameworks(列:id、project_id、framework_id)
uj5u.com熱心網友回復:
您可以使用 union all 進行總結以獲得總數。
SELECT sum(q.c) FROM (
select
count(*) as c
from
projects
join( select project_skills.skill_id from project_skills where project_skills.skill_id = 7 ) as s
on projects.id = s.skill_id
union all
select
count(*) as c
from
projects
join( select project_frameworks.framework_id from project_frameworks where project_frameworks.framework_id = 3 ) as f
on projects.id = f.framework_id
) q;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/522274.html
標籤:mysqlsql
