SQL2000数据库中合并两行相同条件的值到列中怎么操作?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL2000数据库中合并两行相同条件的值到列中怎么操作?相关的知识,希望对你有一定的参考价值。

如图1是原始数据,图2是需要合并的数据,用SQL语句该怎么操作?还有如果有多行(3-5)行怎么写SQL语句?请帮忙解答一下啊

参考技术A select TypeCode,TypeName ,sum(shijianduan),FacilityId
from 表名
group by FacilityId ,TypeName ,TypeCode追问

能解释一下这几个单词的意思吗?TypeCode 类别是代表那一列?还有个sum(shijianduan)我看的是“时间段”这里没有时间怎么弄?

SQL条件列和合并两行。

我找到了许多关于如何在列中添加条件或如何与'max'合并的例子,但我不清楚如何针对这种特殊情况进行操作。

SQL查询。

SELECT IDLOCK, DT, LOCKTYPE, PRODUCTATTRIBUTE, VALUE
    FROM LOCKREGISTER LR
    LEFT JOIN LOCKTYPES T
        ON LR.IDLOCKTYPE = T.IDLOCKTYPE

    LEFT JOIN PRODUCTATTRIBUTES PA
        ON LR.IDPRODUCT = PA.IDPRODUCT AND (PRODUCTATTRIBUTE = 'CodeSet' OR PRODUCTATTRIBUTE = 'KeySet')

    ORDER BY IDLOCK;
答案

你可以做条件激化 。

SELECT IDLOCK, DT, LOCKTYPE, 
       MAX(CASE WHEN PRODUCTATTRIBUTE = 'CodigoConjunto' THEN  PRODUCTATTRIBUTE END),
       MAX(CASE WHEN PRODUCTATTRIBUTE = 'CodigoConjunto' THEN  VALUE END),
       MAX(CASE WHEN PRODUCTATTRIBUTE = 'ClaveConjunto' THEN  PRODUCTATTRIBUTE END),
       MAX(CASE WHEN PRODUCTATTRIBUTE = 'ClaveConjunto' THEN  VALUE END)
FROM LOCKREGISTER LR LEFT JOIN 
     LOCKTYPES T
     ON LR.IDLOCKTYPE = T.IDLOCKTYPE LEFT JOIN 
     PRODUCTATTRIBUTES PA
     ON LR.IDPRODUCT = PA.IDPRODUCT AND 
        PRODUCTATTRIBUTE IN ('CodigoConjunto','ClaveConjunto')
GROUP BY IDLOCK, DT, LOCKTYPE;

以上是关于SQL2000数据库中合并两行相同条件的值到列中怎么操作?的主要内容,如果未能解决你的问题,请参考以下文章

如何将Python Dask Dataframes合并到列中?

SQL如何将某一列中相同的数据合并

将多个值添加到列中 - Pandas

pyspark:如果列在不同行中具有相同的值,则合并两行或多行

Oracle SQL:根据在另一个表中给定条件的列中找到的值插入

Google BigQuery SQL:从 JSON(列表和数组)中提取数据到列中