多条记录中每个记录的特定值的SQL查询

多条记录中每个记录的特定值的SQL查询,sql,Sql,我有一个涉及一对多关系的SQL问题 我的数据库中有一个名为Checklist的表。对于ChecklistMaterial,每个检查表记录在表中可以有多个匹配项。ChecklistMaterial表有一个字段,用于指示它是否已发货,并在指示已发货或未发货的特定字段中使用1或0 在检查表级别,我想在一条SQL语句中指出,该语句正在提取其他检查表字段,以确定该检查表的所有材料是否都已发货。基本上,如果检查表的所有材料记录都已发货,则检查表级别将显示1 这是我试图做的一个简单版本。让我知道这听起来是否完

我有一个涉及一对多关系的SQL问题

我的数据库中有一个名为Checklist的表。对于ChecklistMaterial,每个检查表记录在表中可以有多个匹配项。ChecklistMaterial表有一个字段,用于指示它是否已发货,并在指示已发货或未发货的特定字段中使用1或0

在检查表级别,我想在一条SQL语句中指出,该语句正在提取其他检查表字段,以确定该检查表的所有材料是否都已发货。基本上,如果检查表的所有材料记录都已发货,则检查表级别将显示1

这是我试图做的一个简单版本。让我知道这听起来是否完全偏离了基础或是一个合理和适当的方法

提前谢谢

像这样

select
    checklist.abc,
    checklist.def,
    (select sign(sum(shipped))
       from checklistmaterials
      where checklist.checklistid = checklistmaterials.checklistid
from
    checklist
如果您确定ChecklistMaterial只有0或1,则如果所有记录都有1,则此列上的最小值将计算

SELECT * ,
      (SELECT Min(checked)
         FROM ChecklistMaterial
        WHERE <JOIN between Checklist and ChecklistMaterial>
      )
  FROM Checklist

顺便说一句,使用Max而不是Min将检查是否至少有一条记录有1。

对不起,根据装运类型,它实际上可以是1或2。它连接到MS Access中的选项框。那么,如果只有一种材质为0,MinChecklistMaterial是否始终等于0?@user3177831 MinChecklistMaterial是在满足联接条件的所有记录上找到的最小值,即。E如果列中有1和2,那么如果至少有一个1,则为1,如果WHERE选择的记录中只有2,则为2。哦,是的,这现在是有意义的。。嗯,我可能被卡住了。