sql - 如何使用 GROUP BY 从 SQL 中的 3 个表中选择数据?
问题描述
我很困惑从三个表中选择确切的数据。需要选择的数据超过200k条记录。我有
表 1:标题
No. Code
-------------
1 AAA
2 BBB
3 CCC
4 DDD
表 2:详细信息:
No. I-Code
---------------
1 123
1 122
1 111
2 222
2 212
3 333
3 341
表 3: 库存
I-code Code
------------
123 AAA
122 ACC
111 ACE
222 BAA
212 BVC
333 DVC
341 CVD
我想从表 3中选择I-Code、Code以及表 1中的Code按表 2中的No分组。这可能吗?我尝试了很多方法,这让我越来越困惑。
我尝试过的查询之一是
SELECT
inventory.I-code, inventory.Code,header.Code
FROM
inventory
INNER JOIN
Detail ON inventory.I-code = Detail.I-code
INNER JOIN
header ON header.No =Detail.No
它给了我数据,但没有重复。我也尝试将 No 分组。
预期输出。
No[from tbl 1] I-code[from tbl 3] Code[from tbl 3]{GROUPBY} Code[frm tbl 1]
1 123 AAA AAA
1 122 ACC AAA
1 111 ACE AAA
2 222 BAA BBB
3 341 CVD CCC
请帮忙。
提前致谢。
解决方案
您可以使用另一个查询来获得相同的结果
with t as (select H.no, H.code,d.[I-code] from
Header H inner join Detail D on H.no= D.no)
select t.NO as [No from tbl 1] ,i.[I-code] as [I-code from tbl 3],i.code as [Code
from tbl 3], t.code as [Code frm tbl 1] from Inventory I inner join t on i.code=t.code
推荐阅读
- android - 如何处理使用自定义 AutoML 模型后弹出的缓冲区溢出异常?
- c - 仅在发布时分配失败
- python - 关闭张量流消息
- python - 将烧瓶应用程序部署到 Elastic Beanstalk 时出错
- java - 没有单击按钮就不会传递 EditText 数据
- angular - 两个组件之间无法通信,侧边栏未更新
- java - 如何在 Java 应用程序中精细控制多个线程?
- angular - Firebase 异步数据检索需要时间
- c# - 如何在 C# 中修复“Office.Interlop -2146822384:无法编辑范围”
- r - 有没有办法选择一个因素的水平进行分析