【发布时间】:2017-04-29 05:55:54
【问题描述】:
我对我正在尝试做的事情有点不知所措,因为我现在只使用 SQL 3 天,但我已经喜欢 MS 查询增加的功能。对 IN 功能的需求是促使我了解这一点的原因,我感谢社区提供的信息,帮助我完成学习。
我尝试查看其他问题,但找不到一个意图将超过两行分组或将不同数量的行分组的问题。这意味着计数和重复都可以作为选项。
我正在分析一个跨越多个商店位置的零件编号信息表。该表为零件号的每个实例提供了一行,因此如果所有 15 家商店都有给定零件号的某种历史记录,则该零件号在表中将有 15 行。
我想查看其他商店的历史记录,以查找符合我所在位置销售历史记录为 0 标准的零件。目的是看看它们是否可以转移到另一家商店,而不是退回给供应商并产生补货费用。
这是表格的简化版本,按照我希望输出的结构化方式进行组织。我通过怀疑零件号并将它们的列表用作 IN() 中的文本字符串来到达这里,但我想以另一种方式进行此操作,并根据此表中的销售数据构建零件号列表。
Branch| Part_No| Description| Bin Qty|current 12 mo sales|previous 12 mo sales|
------|--------|------------|---------|-------------------|--------------------|
20 CA38385 SUPPORT 2 1 1
23 CA38385 SUPPORT 1 0 0
25 CA38385 SUPPORT 0 0 1
20 DFC10513 Hdw Kit 0 1 0
23 DFC10513 Hdw Kit 1 0 0
07 DFC10513 Hdw Kit 0 1 0
3 D59096 VALVE 0 0 12
5 D59096 VALVE 0 0 4
6 D59096 VALVE 4 6 12
8 D59096 VALVE 0 0 0
33 D59096 VALVE 11 14 18
21 D59096 VALVE 4 4 4
22 D59096 VALVE 0 0 0
23 D59096 VALVE 10 0 0
24 D59096 VALVE 0 0 0
25 D59096 VALVE 0 0 0
26 D59096 VALVE 2 2 0
1 TE67401 Repair Kit 1 1 2
21 TE67401 REPAIR KIT 1 3 0
22 TE67401 REPAIR KIT 0 1 0
我是 23 号分支,所以据我所知,查询的开始是
Select * from part_information
Group By part_number
Having IN(Branch) 23 and bin qty > 0 and current_12_mo_sales=0 and previous_12_mo_sales = 0
你能指出我正确的方向吗?这张桌子大约有。 200000 行,所以我真的需要学习如何做到这一点。我真的没有找到更好的方法。
提前感谢您的帮助和/或批评 -Cody
【问题讨论】:
标签: where having sqlanywhere where-in