我有两个表:使用查询结果作为参数的另一个查询
表项 - >的itemId - > ITEMNAME
表发票 - > InvoiceId - > InvoiceNum - > InvoiceDate - > ItemId 等(不相关)。
对于不同的项目,我需要找到最新(也是最新)的发票日期。 到目前为止,我创建了第一个不同的第一个查询,然后,对于每个结果我在第二个表上运行一个新的查询(顶部1按日期desc排序)
它的工作,但它需要永远(我有超过10000个项目)。 我使用asp classic和访问,但我很确定问题与SQL有关。
我尝试了条款WHERE ... IN
,但查询输出所有发票日期,而不仅仅是最新的发票日期。
任何帮助? Thx提前!
我知道我一直非常通用。 这里是我尝试使用SQL指令:
SELECT table1.id,table3.name,table1.name,table2.trans_num,MAX(table2.transaction_date_h)AS MaxDitransaction_date_h,table2.amount_amt FROM表3 INNER JOIN(table1 INNER JOIN table2 ON table1.id = table2.item_id)ON table3.id = table1.preferred_vendor_id GROUP BY table1.id,table3.name,table1.name,table2.trans_num,table2.amount_amt ORDER BY table3。 name,table1.name,table2.trans_num,Max(table2.transaction_date_h)DESC;
如果我运行此查询,结果是整个记录集。 至于说,我想为每个不同的table1.id