gpt4 book ai didi

带有左外连接的php mysql

转载 作者:行者123 更新时间:2023-11-30 22:51:22 25 4
gpt4 key购买 nike

我在mysql中有两个表table1和table2

table1有以下字段

Field               Type    

intProjectId int(11)
intSourceId int(11)
intClientId int(11)
varProject varchar(200)
fltAmount float
varAmountType varchar(50)
dtStart date
dtEnd date

表2有以下字段

    Field                                   Type

intPercentageId int(11)
intProjectId int(11)
floatPaymentpercentage float
ddDate datetime

连接两个具有公共(public)项目 ID 的表。如果表 2 没有具有特定项目 ID 的记录,它可以作为 null 连接..

表1有项目数据表2有它的完成百分比。 (每个项目有多个记录。)Project Id -- 公共(public)字段

我使用了以下查询

SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.intProjectId = table2.intProjectId
GROUP BY table1.varProject ORDER BY table2.intPercentageId DESC

这里我得到的输出是百分比表返回每个项目的第一条记录。我需要表 2 的最后插入记录。

table1 ==> 项目编号 5在表 2 中有项目 ID 5 的 3 条记录。我想从表 2 中获取最后一条记录。现在它返回表 2 的第一条记录

如何更改查询。请帮我解决这个问题。

最佳答案

计算表 2 中每个项目的最大记录,并使用该信息获取最新记录。这是一个使用分组依据的方法:

select t1.*
from table1 t1 join
table2 t2
on t1.intProjectId = t2.intProjectId join
(select t2.intProjectId, max(intPercentageId) as maxpi
from table2 t2
group by t2.intProjectId
) tt2
on t2.intProjectId = tt2.maxpi;

关于带有左外连接的php mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28065810/

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