数据库用的 Oracle 。
多行数据根据 code 字段合并为一行,再根据 type 字段判断:
1
YouKnowIt 2023-04-24 10:49:13 +08:00
以前有个网站好像叫 帮你百度一下,以后可能会有 帮你 ChatGPT 一下 这种网站,以下是来自 chatgpt 的回答:
您可以使用 Oracle 的 PIVOT 和 UNPIVOT 函数来实现根据 code 字段合并行并按照 type 字段转换列的操作。具体实现过程将包括以下步骤: 1.使用 PIVOT 函数将具有相同 code 值的多行数据合并为单个行。 2.使用 UNPIVOT 函数将 type 字段转换为列并将对应的值填入相应的字段中。 3.使用 SELECT 语句来检索结果。 下面是一个示例 SQL 查询: SELECT * FROM ( SELECT code, type, field1, field2, field3 FROM your_table ) PIVOT ( MAX(field1) AS field1, MAX(field2) AS field2, MAX(field3) AS field3 FOR type IN (1, 2, 3) ) UNPIVOT ( value FOR (field, type) IN ((field1, 1), (field2, 1), (field3, 1), (field1, 2), (field2, 2), (field3, 2), (field1, 3), (field2, 3), (field3, 3)) ); 这将返回一个结果集,其中每个行包含相同的 code 值,以及列名( field )和相应的值( value )。 |
2
ccraohng 2023-04-24 11:20:18 +08:00
CASE 就行
SELECT CASE WHEN xxx TEHN 1 END |
3
chosen1cwp 2023-04-24 11:41:05 +08:00
select GROUP_CONCAT(concat("'",name,"'")) from table group by field
|