【发布时间】:2019-03-25 22:13:47
【问题描述】:
我有两张桌子,一张是我的主菜单表,另一张是我的订单表。我想从主菜单表中获取根据我设置的类别购买的所有订单,并排除那些使用某些类别购买的订单。例如:
主菜单表
ItemCode Category
-------------------------
10001 VM1
10002 VM1
10003 VM2
10004 VM3
10005 VM3
10006 HOT DRINKS
10007 HOT DRINKS
10008 COLD DRINKS
10009 COLD DRINKS
10066 DESSERT
订单表为:
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 10006 122-1
1 06/08/2018 Ice Tea 2 7 10008 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 OrangeJuice 2 5 10009 122-2
2 06/08/2018 Coffee 1 6 10006 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 Coffee 17 17 10006 122-3
3 06/08/2018 Ice Tea 7 17 10008 122-5
4 06/08/2018 OrangeJuice 7 17 10009 122-6
结果:
SiteID BusinessDate ItemName Units Sold Units Sale ItemCode OrderNo
----------------------------------------------------------------------------
4 06/08/2018 Donuts 7 17 10066 122-7
2 06/08/2018 OrangeJuice 2 5 10009 122-2
2 06/08/2018 Coffee 1 6 10006 122-2
3 06/08/2018 Ice Tea 7 17 10008 122-5
4 06/08/2018 OrangeJuice 7 17 10009 122-6
预期结果:
我想获取所有在 (HOT DRINKS,COLD DRINKS,DESSERT) 中设置类别的订单详细信息,并排除在 (VM1,VM2,VM3) 中设置类别的那些 OrderNo。请记住,如果订单同时包含两者,则整个 OrderNo 不应出现在我的输出查询中。例如:我不应该得到 OrderNo:122-3,因为它包含我的主项目表类别(VM2、VM3、热饮)中存在的 ItemCodes。
【问题讨论】:
-
干得好,但您的问题遗漏了一些重要的内容,即格式化文本的预期结果,因为它是明确的解释。
标签: sql sql-server sql-server-2012