sql - 获取所有购买的订单以及 SQL 中的一组特定商品
问题描述
我想知道如何才能获得所有购买的订单以及一组特定商品。我有一个主项目表,其中包含大约 90 个基础项目,我的订单表包含所有收据。所以输出显示在我的项目表中显示了所有购买的订单以及我的基础项目。
主项目表:
ItemCode
-------
10001
10002
10003
10004
订单表:
SiteID BusinessDate ItemName Units Sold Units Sale ItemCode OrderNo
----------------------------------------------------------------------------
1 06/08/2018 Apple 1 5 10001 122-1
1 06/08/2018 Coffee 1 16 10002 122-1
1 06/08/2018 Ice Tea 2 7 10044 122-1
1 06/08/2018 Beans 9 18 10004 122-1
4 06/08/2018 Donuts 7 17 10066 122-7
1 06/08/2018 Bread 1 7 10003 122-4
1 06/08/2018 Beans 4 8 10004 122-4
2 06/08/2018 Apple 2 5 10001 122-2
2 06/08/2018 Coffee 1 6 10002 122-2
3 06/08/2018 Bread 3 5 10003 122-3
3 06/08/2018 Beans 7 17 10004 122-3
3 06/08/2018 Ice Tea 7 17 10044 122-5
4 06/08/2018 Ice Coffee 7 17 10050 122-6
结果:
SiteID BusinessDate ItemName Units Sold Units Sale ItemCode OrderNo
----------------------------------------------------------------------------
1 06/08/2018 Apple 1 5 10001 122-1
1 06/08/2018 Coffee 1 16 10002 122-1
1 06/08/2018 Ice Tea 2 7 10044 122-1
1 06/08/2018 Beans 9 18 10004 122-1
1 06/08/2018 Bread 1 7 10003 122-4
1 06/08/2018 Beans 4 8 10004 122-4
2 06/08/2018 Apple 2 5 10001 122-2
2 06/08/2018 Coffee 1 6 10002 122-2
3 06/08/2018 Bread 3 5 10003 122-3
3 06/08/2018 Beans 7 17 10004 122-3
查询输出必须将所有购买的交易连同我的项目主表值一起返回给我,例如,输出查询没有返回订单号:122-6,因为项目代码不存在于我的主项目代码中显示订单号:122-1 是因为订单和主项目表中存在我的一两个 ItemCode
解决方案
您可以尝试编写一个OrderNo
匹配SiteID
的子查询。
然后做join
表[Order]
以获得您的预期结果。
SELECT o.*
FROM [Order] o JOIN
(
SELECT DISTINCT OrderNo,SiteID
FROM MasterItem m
JOIN [Order] o on o.ItemCode = m.ItemCode
) t1 on t1.OrderNo = o.OrderNo and t1.SiteID = o.SiteID
推荐阅读
- gremlin - Gremlin:在更便宜的步骤之后调用昂贵的步骤是否可以作为一种优化?
- python - 为什么我的函数在我的循环中执行两次?
- python - 有没有一种方法或函数来勾勒二进制矩阵中的形状?
- javascript - 在 ChoiceType 字段值的函数中显示或隐藏 Twig 模板中的字段
- python - CS50 财务:/index 帮助显示正确的信息
- r - 从多个 NETCDF 文件中堆叠和提取单个变量
- github - 如何在 GitHub 操作中缓存 npm 依赖项?
- swift - Watch OS 8 中的奇怪控制台登录:意外地为 nil frameSpecifier。演示日期:15:02:48.559 alwaysOnSession
- numpy - 在 dask 中广播和调整数组大小
- scala - 如何在 Spark 数据集中计算组的行数并添加计数为零的组?