使用mysql中的行从表中获取最新日期
我有两个表:资产和库存 表资产 表存货 当我运行以下mysql查询时:使用mysql中的行从表中获取最新日期,mysql,sql,greatest-n-per-group,Mysql,Sql,Greatest N Per Group,我有两个表:资产和库存 表资产 表存货 当我运行以下mysql查询时: SELECT a.assetnum,a.description,a.user,MAX(b.invdate) as invdate , b.note FROM asset a LEFT JOIN inventory b on a.assetnum=b.assetnum GROUP BY a.assetnum, a.description 我得到的是: 但是,应该是这样的 我的mysql查询有什么问题?有人能帮我
SELECT a.assetnum,a.description,a.user,MAX(b.invdate) as invdate , b.note
FROM asset a
LEFT JOIN inventory b on a.assetnum=b.assetnum
GROUP BY a.assetnum, a.description
我得到的是:
但是,应该是这样的
我的mysql查询有什么问题?有人能帮我吗…你基本上可以在结果中得到一个随机的
注释。你可能需要这样的东西:
select a.assetnum,a.description,a.model, i.invdate, i.note
from inventory i
join
(
select assetnum, max(invdate) max_invdate
from inventory
group by assetnum
) t on i.assetnum = t.assetnum and
i.invdate = t.max_invdate
right join asset a on a.assetnum = i.assetnum
您基本上会在结果中得到一个随机的注释。你可能需要这样的东西:
select a.assetnum,a.description,a.model, i.invdate, i.note
from inventory i
join
(
select assetnum, max(invdate) max_invdate
from inventory
group by assetnum
) t on i.assetnum = t.assetnum and
i.invdate = t.max_invdate
right join asset a on a.assetnum = i.assetnum
有一种方法可以支持您的“尝试”和“良好尝试”功能:
SELECT a.assetnum,
MAX(a.description) AS description,
MAX(a.user) AS user,
MAX(b.invdate) as invdate,
(SELECT i.note FROM inventory i
WHERE i.invdate = MAX(b.invdate) AND i.assetnum=a.assetnum) note
FROM asset a
LEFT JOIN inventory b on a.assetnum=b.assetnum
GROUP BY a.assetnum
有一种方法可以支持您的“尝试”和“良好尝试”功能:
SELECT a.assetnum,
MAX(a.description) AS description,
MAX(a.user) AS user,
MAX(b.invdate) as invdate,
(SELECT i.note FROM inventory i
WHERE i.invdate = MAX(b.invdate) AND i.assetnum=a.assetnum) note
FROM asset a
LEFT JOIN inventory b on a.assetnum=b.assetnum
GROUP BY a.assetnum
从资产a中,这里缺少一些内容。为了正确的数据库工作,所有表都需要主键您自己的数据是错误的。。。。你是说你想要最后一次约会,那就是20号,正如你的库存表所示,20号有好坏之分,好的东西从哪里来sudden@Tomm最新日期是正确的,但根据我的查询,它将作为库存表的第一行。从库存表的第3行和第4行应该是不好的…从资产a,这里缺少一些东西。为了正确的数据库工作,所有表都需要主键您自己的数据是错误的。。。。你是说你想要最后一次约会,那就是20号,正如你的库存表所示,20号有好坏之分,好的东西从哪里来sudden@Tomm最新日期是正确的,但根据我的查询,它将作为库存表的第一行。从库存表的第三行和第四行应该是不好的…谢谢。。。这几乎是工作。我还希望ghi789在结果中显示“null”,即使库存表中没有invdate值。@MuhammadYusufAhmadShahRudd是,更正。您很好:)@MuhammadYusufAhmadShahRudd我添加了外部连接(左连接
),以便在结果中也包含空值。我知道当前的解决方案有问题吗?谢谢。。。这几乎是工作。我还希望ghi789在结果中显示“null”,即使库存表中没有invdate值。@MuhammadYusufAhmadShahRudd是,更正。您很好:)@MuhammadYusufAhmadShahRudd我添加了外部连接(左连接
),以便在结果中也包含空值。我知道当前的解决方案有什么问题吗?