【发布时间】:2017-03-20 16:15:48
【问题描述】:
我遇到了一个查询问题,我需要在 C# 的数据网格中显示数据。 我有桌子篮子,在一个特定的篮子里我可以保存许多工单(不受限制)
所以现在我已经完成了查询,它让我获得了 datagrid 中的所有工作订单,所以我复制了 datagarid 中显示的购物篮,我需要显示每个购物篮,但最后输入的工作订单。 我想做一个查询,每个篮子只显示一个工作订单(只显示最新或最后输入的工作订单)。
我们尝试了 group by 和 distinct,但没有成功。
我试过这些
select db_basket.basket_id, db_basket_order.basket_order_id, db_basket.basket_mark, prod_workorder.brojnaloga, db_basket_order.startdate, db_basket_order.quantity
from db_basket
left join db_basket_order
on db_basket_order.basket_id=db_basket.basket_id
left join prod_workorder
on db_basket_order.workorder_id=prod_workorder.workorderid
select db_basket.basket_mark, max(db_basket_order.startdate) as startdate
from db_basket
left join db_basket_order
on db_basket_order.basket_id=db_basket.basket_id
group by basket_mark
这里我有一张图片,在图片上你可以看到查询显示了几行具有相同的 basket_id,正如我所说,我只需要一个篮子来显示我最新的工作订单。
谢谢。
【问题讨论】:
-
如果您将
basket_id设为唯一,则@Ali 代码的以下答案将起作用。查询显示多行具有相同basket_id的原因是因为它们都具有相同的编号。除非您使用basket_order_id或使basket_id代码唯一,否则它将始终显示所述行。
标签: c# sql-server datagrid