选择distinct和iif不提供预期结果

khbbv19g  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(347)

我需要一些帮助与sql查询访问,因为我是一个新手。
我有一张table tbl_FC_Data 数据行中包含一个由公司的预测日期quantity by part number by future month标记的预测。因此,一个公司的单个预测将包含每个零件号的未来每个月的一行。以下是示例数据:

  1. Part_Number Company_Code Qty Data_Month Date_of_FC
  2. 9D0094-2 EAIL1 5 08/01/20 06/01/20
  3. 9D0094-2 EAIL1 7 09/01/20 06/01/20
  4. 9D0094-2 EAIL1 8 10/01/20 06/01/20
  5. 9D0166-24 EAIL1 2 08/01/20 06/01/20
  6. 9D0197-1 EAIL1 2 08/01/20 06/01/20
  7. 9D0094-2 EAIL1 6 08/01/20 07/01/20
  8. 9D0094-5 EAIL1 8 08/01/20 07/01/20
  9. 9D0166-10 EAIL1 9 08/01/20 07/01/20
  10. 9D0166-24 EAIL1 2 08/01/20 07/01/20
  11. 9D0094-2 EAIL1 3 08/01/20 07/01/20
  12. 9D0094-4 EAIL1 4 08/01/20 07/01/20

我的目标是比较公司的两个预测,以确定零件号是包含在两个预测中,还是仅包含在第一个或第二个预测中。以下是示例结果:

  1. Part_Number Company_Code First_Date_Match Second_Date_Match
  2. 9D0094-2 EAIL1 Y Y
  3. 9D0094-4 EAIL1 N Y
  4. 9D0094-5 EAIL1 N Y
  5. 9D0166-10 EAIL1 N Y
  6. 9D0166-24 EAIL1 N Y
  7. 9D0197-1 EAIL1 Y N

感谢您的帮助。
我尝试了几种sql变体,包括
GROUP BY Part_Number . 下面是我最新的尝试使用 SELECT DISTINCT . 当 Part_Number 出现在两个 Date_of_FC 我没有收到一封信 First_Date_MatchY 和一个 Second_Date_MatchY .

  1. SELECT DISTINCT tbl_FC_Data.Part_Number, IIf([tbl_FC_Data]![Date_of_FC]=#7/1/2020#,"Y","N") AS
  2. First_Date_Match, IIf([tbl_FC_Data]![Date_of_FC]=#6/1/2020#,"Y","N") AS Second_Date_Match
  3. FROM tbl_FC_Data
  4. WHERE (((tbl_FC_Data.Company_Code)="EAIL1") AND ((tbl_FC_Data.Date_of_FC)=#7/1/2020#)) OR
  5. (((tbl_FC_Data.Date_of_FC)=#6/1/2020#))
  6. ORDER BY tbl_FC_Data.Part_Number;
uurity8g

uurity8g1#

  1. SELECT tbl_FC_Data.Part_Number,
  2. IIf(MAX([tbl_FC_Data]![Date_of_FC]) = #7/1/2020#,"Y","N") AS First_Date_Match,
  3. IIf(MIN([tbl_FC_Data]![Date_of_FC]) = #6/1/2020#,"Y","N") AS Second_Date_Match
  4. FROM tbl_FC_Data
  5. WHERE tbl_FC_Data.Company_Code = "EAIL1"
  6. AND tbl_FC_Data.Date_of_FC IN (#7/1/2020#, #6/1/2020#)
  7. GROUP BY tbl_FC_Data.Part_Number
  8. ORDER BY tbl_FC_Data.Part_Number;

相关问题