gpt4 book ai didi

sql - 在 SQL 中合并两行

转载 作者:行者123 更新时间:2023-12-03 08:30:20 24 4
gpt4 key购买 nike

假设我有一个包含以下信息的表:

FK | Field1 | Field2
=====================
3 | ABC | *NULL*
3 | *NULL* | DEF

有没有办法可以在 table 上执行选择以获得以下内容
FK | Field1 | Field2
=====================
3 | ABC | DEF

谢谢

编辑:为了清晰起见,修复 field2 名称

最佳答案

聚合函数可以在这里帮助你。聚合函数忽略 NULLs (至少在 SQL Server、Oracle 和 Jet/Access 上是这样),因此您可以使用这样的查询(在 SQL Server Express 2008 R2 上测试):

SELECT
FK,
MAX(Field1) AS Field1,
MAX(Field2) AS Field2
FROM
table1
GROUP BY
FK;

我用过 MAX ,但任何从 GROUP BY 中选择一个值的聚合行应该工作。

测试数据:
CREATE TABLE table1 (FK int, Field1 varchar(10), Field2 varchar(10));

INSERT INTO table1 VALUES (3, 'ABC', NULL);
INSERT INTO table1 VALUES (3, NULL, 'DEF');
INSERT INTO table1 VALUES (4, 'GHI', NULL);
INSERT INTO table1 VALUES (4, 'JKL', 'MNO');
INSERT INTO table1 VALUES (4, NULL, 'PQR');

结果:
FK  Field1  Field2
-- ------ ------
3 ABC DEF
4 JKL PQR

关于sql - 在 SQL 中合并两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2941116/

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