sybase 11.5 行转列
时间: 2023-11-30 16:03:50 浏览: 89
在 Sybase 11.5 中,可以使用 SQL 的 PIVOT 操作将行转换为列。以下是一个示例:
假设有一个表格存储了每个员工的销售记录,包括销售日期和销售额:
```
employee_id | sales_date | sales_amount
----------------------------------------
1 | 2021-01-01 | 100
1 | 2021-01-02 | 200
2 | 2021-01-01 | 150
2 | 2021-01-03 | 250
```
我们希望将每个员工的销售额按照日期转换为列,得到以下结果:
```
employee_id | 2021-01-01 | 2021-01-02 | 2021-01-03
--------------------------------------------------
1 | 100 | 200 | NULL
2 | 150 | NULL | 250
```
可以使用以下 SQL 查询语句实现这个转换:
```
SELECT employee_id,
[2021-01-01], [2021-01-02], [2021-01-03]
FROM (
SELECT employee_id, sales_date, sales_amount
FROM sales_table
) AS src
PIVOT (
SUM(sales_amount)
FOR sales_date IN ([2021-01-01], [2021-01-02], [2021-01-03])
) AS piv;
```
这个查询语句首先从原始销售记录表格中选出了员工 ID、销售日期和销售额三个字段。然后,使用 PIVOT 操作将销售日期转换为列,对每个员工在每个日期的销售额求和。最终查询结果中的每一行代表一个员工的销售记录,每个日期对应的列显示该员工在该日期的销售额。如果某个员工在某个日期没有销售记录,则对应的单元格显示为 NULL。
相关推荐
![text/plain](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)