gpt4 book ai didi

SQL 连接。一对多关系

转载 作者:行者123 更新时间:2023-12-02 22:48:28 24 4
gpt4 key购买 nike

我有两个表如下

Table 1-----------------------------------UserID   | UserName | Age | Salary-----------------------------------1        | foo      | 22  | 33000       -----------------------------------
Table 2------------------------------------------------UserID   | Age      | Salary     | CreatedDate------------------------------------------------1        | NULL     | 35000      | 2015-01-01------------------------------------------------1        |  28      | NULL       | 2015-02-01------------------------------------------------1        |  NULL    | 28000      | 2015-03-01------------------------------------------------

我需要这样的结果。

Result-----------------------------------UserID   | UserName | Age | Salary-----------------------------------1        | foo      | 28  | 28000-----------------------------------

这只是一个例子。在我的实际项目中,上表中有大约 6 列,例如年龄和薪水。

在表 2 中,每条记录只有一个值,即如果 Age 有值,则 Salary 将为 NULL,反之亦然。

更新:

表 2 有 CreatedDate 列。所以我想获取最新的“NOTNULL”单元格值而不是最大值。

最佳答案

您可以使用简单的 MAX()GROUP BY 来完成此操作:

select t1.userid,t1.username, MAX(t2.Age) as Age, MAX(t2.Salary) as Salary
from table1 t1 join
table2 t2 on t1.userid=t2.userid
group by t1.userid,t1.username

结果:

userid  username    Age   Salary
--------------------------------
1 foo 28 35000

SQL Fiddle 中的示例结果

关于SQL 连接。一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32043951/

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