总公司par_code 为空 名字为company,子公司的par_code 为总公司的company,非子公司par_code为其他,写出sql,向帆软传公司参数,查询出总公司 子公司 非子公司的数据,各个子公司显示各个子公司数据,非子公司合计成一条数据
时间: 2024-09-11 18:04:50 浏览: 35
par_in_par_out.rar_out_par out
首先,假设我们有一个公司表(company_table),它包含以下字段:
- id:公司的唯一标识
- name:公司的名称
- par_code:父公司代码,表示公司的归属层级
我们想要查询总公司、子公司及非子公司,并且对于非子公司,我们希望将其数据合并为一条记录。以下是一个可能的SQL查询语句实现这一需求:
```sql
SELECT
COALESCE(c.par_code, '非子公司') AS par_code,
c.name,
COUNT(*) AS company_count
FROM
company_table c
GROUP BY
COALESCE(c.par_code, '非子公司')
ORDER BY
par_code;
```
在这个查询中,`COALESCE`函数用于将`par_code`为空的情况替换成'非子公司',以便于在非子公司的情况下,所有的非子公司记录能够按照'非子公司'进行合并统计。`GROUP BY`语句用于按公司层级分组,这里将所有无父公司的记录分在一组(即非子公司),`COUNT(*)`用于计数每组中记录的数量。`ORDER BY`用于对结果进行排序。
阅读全文