gpt4 book ai didi

mysql - 如何从 SQL Server 中不同行的列中取值?

转载 作者:行者123 更新时间:2023-11-29 02:46:21 25 4
gpt4 key购买 nike

任何人都可以用 SQL 帮助我解决以下要求:

表格数据如下:

Identifier  brand   brand1  sub_brand
13 ABC DEF NULL
13 ABC NULL DEF

预期结果应该是:

Identifier  brand   brand1  sub_brand
13 ABC DEF DEF

前两列将始终包含相同的值,但其他列将仅在一行中包含数据。我需要一些通用 SQL,因为在实际情况中我有更多的列。

最佳答案

只要您关心的每一列中只有一个值,那么 max 和 group by 应该可以满足您的要求。如果你有不止一个,那么我误解了这个问题。

按前两列分组,取对方列的最大值,如下

select ID, brand, MAX(brand1), MAX(subbrand)

from
(
select 13 as ID, 'ABC' as brand, 'DEF' as brand1, NULL as subbrand
union all select 13 as ID, 'ABC' as brand, NULL as brand1, 'DEF' as subbrand
) as testdata

group by ID, brand

关于mysql - 如何从 SQL Server 中不同行的列中取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41671024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com