SQL条件列和合并两行。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
以上是关于SQL条件列和合并两行。的主要内容,如果未能解决你的问题,请参考以下文章