min1 = "SELECT  min([PL1(G)])  FROM (SELECT * from MeaProto where [PL1(G)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")"min2 = "select min([PL1(DEG)]) from  (SELECT * from MeaProto where [PL1(DEG)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")"min3 = "SELECT  min([PL2(G)])  FROM (SELECT * from MeaProto where [PL2(G)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")"min4 = "select min([PL2(DEG)]) from  (SELECT * from MeaProto where [PL2(DEG)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")"
一张表,怎么实现联合查询,min1到min4写在一起

解决方案 »

  1.   

    strMin = ""
    strMin = strMin & "SELECT min([PL1(G)]) FROM (SELECT * from MeaProto where [PL1(G)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")" & vbNewLine
    strMin = strMin & "union all" & vbNewLine
    strMin = strMin & "select min([PL1(DEG)]) from (SELECT * from MeaProto where [PL1(DEG)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")" & vbNewLine
    strMin = strMin & "union all" & vbNewLine
    strMin = strMin & "SELECT min([PL2(G)]) FROM (SELECT * from MeaProto where [PL2(G)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")" & vbNewLine
    strMin = strMin & "union all" & vbNewLine
    strMin = strMin & "select min([PL2(DEG)]) from (SELECT * from MeaProto where [PL2(DEG)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")"
      

  2.   

    min1 = "SELECT min([PL1(G)]) as minpl1 FROM (SELECT * from MeaProto where [PL1(G)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")"min2 = "select min([PL1(DEG)]) as minpl1g from (SELECT * from MeaProto where [PL1(DEG)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")"
    rst.Open strMin, cnn, adOpenKeyset, adLockOptimistic
    minPL1_G = rst.Fields("minpl1").Value
    minPL1_GED = rst.Fields("minpl1g").Value提示 在对应所需名称或序数的集合中,未找到项目
     
      

  3.   

    min1 = "SELECT min([PL1(G)]) as minpl1 FROM (SELECT * from MeaProto where [PL1(G)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")"
    min2 = "select min([PL1(DEG)]) as minpl1g from (SELECT * from MeaProto where [PL1(DEG)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")"
    strMin = ""
    strMin = strMin & "SELECT min([PL1(G)]) FROM (SELECT * from MeaProto where [PL1(G)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")" & vbNewLine
    strMin = strMin & "union all" & vbNewLine
    strMin = strMin & "select min([PL1(DEG)]) from (SELECT * from MeaProto where [PL1(DEG)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" &
    rst.Open strMin, cnn, adOpenKeyset, adLockOptimistic
    minPL1_G = rst.Fields("minpl1").Value
    minPL1_GED = rst.Fields("minpl1g").Value提示 在对应所需名称或序数的集合中,未找到项目
      

  4.   

    strMin = ""
    strMin = strMin & "SELECT min([PL1(G)]) as min_PL FROM (SELECT * from MeaProto where [PL1(G)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")" & vbNewLine
    strMin = strMin & "union all" & vbNewLine
    strMin = strMin & "select min([PL1(DEG)]) from (SELECT * from MeaProto where [PL1(DEG)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")" & vbNewLine
    strMin = strMin & "union all" & vbNewLine
    strMin = strMin & "SELECT min([PL2(G)]) FROM (SELECT * from MeaProto where [PL2(G)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")" & vbNewLine
    strMin = strMin & "union all" & vbNewLine
    strMin = strMin & "select min([PL2(DEG)]) from (SELECT * from MeaProto where [PL2(DEG)] <> 0 and [yy-mm-dd] between " & "'" & d1 & "'" & " and " & "'" & d2 & "'" & ")"
      

  5.   

    strMin = min1 & " UNION " & min2 & " UNION " & min3 & " UNION " & min4
      

  6.   

    min1到min4都加上as 什么什么,加完以后再联合
    rst.Open strMin, cnn, adOpenKeyset, adLockOptimistic
    minPL1_G = rst.Fields("minpl1").Value
    minPL1_GED = rst.Fields("minpl1g").Value 这句会提示:在对应所需名称或序数的集合中,未找到项目
      

  7.   

    联合后只认第一个,要靠movenext
      

  8.   

    按你的情况没必要联合,4个分开写就是了min1
    rst.open min1
    minPL1_G = rst.Fields("minpl1").Value
    rst.close
    min2
    rst.open min2
    minPL1_GED = rst.Fields("minpl1g").Value
    rst.close