C# 用于签出和未返回项目的多个筛选器

C# 用于签出和未返回项目的多个筛选器,c#,mysql,sql,C#,Mysql,Sql,我正在做设备的登记退房系统。我在一个叫做item_ledger的表格中记录了所有的入住和结帐记录。在表中,有itemEIN编号、说明、签出数量1和签入数量0、日期、时间、用户名和用户id 现在我想过滤未返回项目的信息。例如,itemain 1、2、3、4和5有许多签入和签出记录。只有2号和3号还没有办理登机手续。我只想得到2和3的信息 我试着过滤这个 SELECT * FROM item_ledger WHERE _outQty = 1 ORDER BY _date_ DESC, _time_

我正在做设备的登记退房系统。我在一个叫做item_ledger的表格中记录了所有的入住和结帐记录。在表中,有itemEIN编号、说明、签出数量1和签入数量0、日期、时间、用户名和用户id

现在我想过滤未返回项目的信息。例如,itemain 1、2、3、4和5有许多签入和签出记录。只有2号和3号还没有办理登机手续。我只想得到2和3的信息

我试着过滤这个

SELECT * FROM item_ledger WHERE _outQty = 1 ORDER BY _date_ DESC, _time_ DESC
但这只显示所有的签出结果。我只有过滤的想法,但我不知道如何编写SQL脚本。我们的想法是通过_outQty=1 ORDER BY date DESC,time DESC来过滤每个itemEIN。
您有什么想法或其他解决方案吗?

如果您只想返回当前签出的项目的记录_outQty=1。SQL语句的前半部分将从物料分类账中选择*,其中_outQty=1


这将返回签出项目的所有信息。如果只需要这些项目的项目或用户id,请将SELECT语句后的“*”替换为要返回的属性。

否,这不起作用。只有在签出最近的记录时,才会签出项目。但是我想选择每个项目,并且_outQty为1,在最近的记录中尚未返回。哦,您的问题非常不清楚。你可以尝试这样的方法,但是Ben是对的,奇怪的是日期和时间是分开的属性。选择i.itemEIN,MAXi.date作为物料分类账i中的日期,其中i.\u outQty=1 GROUP BY i.itemEIN这将至少为您提供物料的ID。参考这篇文章这是你自己的设计吗?将日期和时间分开,而不是作为一个单独的datetime字段,这使得它比需要的更复杂。是的,我设计了它,但后来我发现它可以组合为datetime。现在,我只关心过滤在最新日期过滤要比在记录上过滤最新日期和该日期的最新时间容易得多。