access sql复杂查询语句求助

假设有下面这样一个表
列1  列2  列3  
1/1    A    0.1
1/1    B    0.1
1/1    C    0.1
1/2    A    0.1
1/2    B    0.1
1/3    A    0.1
1/3    C    0.1
1/4    B    0.1
1/4    C    0.1
现在如何通过Access select查询到如下结果
列1  列2  列3
1/1   A    0.1
1/1   B    0.1
1/1   C    0.1
1/2   A    0.1
1/2   B    0.1
1/2   C    -
1/3   A    0.1
1/3   B    -
1/3   C    0.1
1/4   A    -
1/4   B    0.1
1/4   C    0.1

说明:以1/1~1/4日期为查询条件(具体使用时日期未定)
若当日不存在数据则以“-”代替。
如:1/2 C是没有数据的,所以就输出“1/2 C -”

先按照 order by 列1 相同日期的放一起,然后组合成你http://ask.csdn.net/questions/392577这个问题里面的字符,直接sql处理不出你那种效果

下面这个示例居于你上个问题进行处理,要组合成你上个问题的字符串先



str="1/1,A,0.1*1/1,B,0.2*1/2,A,0.2*1/3,B,0.2*1/4,C,0.1"
arr=split(str,"*")
l=ubound(arr)
sdate=","
set kv=server.CreateObject("scripting.dictionary")
for i=0 to l
  itemarr=split(arr(i),",")
  if instr(sdate,","&itemarr(0)&",")=0 then sdate=sdate&itemarr(0)&","'搜集所有日期
  kv.Add itemarr(0)&" "&itemarr(1),itemarr(2)
next
''''输出
arr=split(sdate,",")
l=ubound(arr)
for i=0 to l
  if arr(i)<>"" then
    key=arr(i)&" A"
    if kv.Exists(key) then response.Write key&" "&kv(key)&"<br>":else:response.Write key&" -<br>":end if
    key=arr(i)&" B"
    if kv.Exists(key) then response.Write key&" "&kv(key)&"<br>":else:response.Write key&" -<br>":end if
    key=arr(i)&" C"
    if kv.Exists(key) then response.Write key&" "&kv(key)&"<br>":else:response.Write key&" -<br>":end if
    ''''更加多状态
  end if
next
set kv=nothing