首页 > 解决方案 > SQL 使用 select from 子句的结果连接另一个表

问题描述

我正在开发一个遗留应用程序,我仍在学习 SQL,并将我的 SQL 知识视为初学者。

我有 2 张表,一张是收据类型结构,其中包含收据编号、案卷编号(加上其他关于总数等的信息)和汽车 rego 编号。

一辆车可能有多个收据,即 rego 号码有多个匹配项

第二个有一个与该收据相关的项目列表(描述,partno,时间),每个项目都通过 docketnumber 相关 - “registerhistory”

多个项目在“registerhistory”中显示为多行(具有相同的案卷编号),并且相同类型的项目不存储为数量,而是作为表中具有相同案卷编号的重复行,每个都存储一个价格

我正在尝试根据 rego 编号的搜索匹配生成报告,并创建与匹配的 tableregister 项目的连接并列出它们(希望最终目标是将任何重复的项目分组为数量和小计)

这是一个访问数据库,如果它改变了语法

我不清楚如何获取一个选择查询的结果并使用这些结果来创建连接,或者可能有更好的方法

所以我需要首先找到所有具有匹配rego编号的收据,通过这些收据,找到相关的项目(按案卷编号),希望像这样对项目进行分组

收据 1

Item1 with multiples as qty with subtotal
Item2
Item3

收据 2

Item1
Item2 with multiples as qty with subtotal
Item3

非常感谢任何帮助,

(SELECT * from tblreceipts 
where vehicle = 'abc123')
join tblregisterhistory  on 
tblreceipts.docketnum = tblregisterhistory.docketnum

我什至可以将选择查询的结果链接到联接,更不用说得到我想要的最终结果了。

标签: sqlms-access

解决方案


你想简单地做一个JOINandGROUP BY吗?像这样的东西:

select partno, count(*) as qty
from tblreceipts as r inner join 
     tblregisterhistory as rh
     on rh.docketnum = r.docketnum
where r.vehicle = 'abc123'
group by partno;

推荐阅读