如何根据字段wph将临时表#TEMP中的字符串字段ddh进行合并?
时间: 2024-10-19 18:04:48 浏览: 1
在SQL查询中,如果你想要根据`wph`字段对`TEMP`临时表中的字符串字段`ddh`进行合并,通常你会使用`CASE`语句或者`PIVOT`操作。这里假设`wph`是一个分类依据,而每个`wph`对应的`ddh`值需要组合成一行。
**使用CASE语句的例子**:
```sql
SELECT wph,
MAX(CASE WHEN ROW_NUMBER() OVER (PARTITION BY wph ORDER BY (SELECT NULL)) = 1 THEN ddh ELSE '' END) AS first_ddh,
MAX(CASE WHEN ROW_NUMBER() OVER (PARTITION BY wph ORDER BY (SELECT NULL)) = 2 THEN ddh ELSE '' END) AS second_ddh,
... // 根据需要添加更多case条件
FROM TEMP
GROUP BY wph;
```
这个查询会创建一个新的行集,其中每个`wph`类别只有一个非空的`ddh`值,其他的`ddh`会被替换为`NULL`或空字符串。
**使用PIVOT操作的例子**(如果数据库支持):
```sql
SELECT *
FROM (
SELECT wph, ddh
FROM TEMP
) pivoted_table
PIVOT (
MAX(ddh)
FOR ddh IN ([first_ddh], [second_ddh], ...)
) AS pvt_table;
```
这里同样假设`first_ddh`, `second_ddh`, 等是新的列名,你需要根据实际的`ddh`值列表调整它们。
阅读全文