首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

非高手勿进! 高分求解: SQL组合查询语句解决办法

2012-02-19 
非高手勿进!高分求解:SQL组合查询语句有两个表一个是项目表,一个是时间表,两个表通过项目编号关联。项目表:

非高手勿进! 高分求解: SQL组合查询语句
有两个表

一个是项目表,一个是时间表,两个表通过项目编号关联。

项目表:     PM
  字段:       pm_id       自动编号
                    pm_name   项目名称

工作表:   work
字段   :     work_id       自动编号
                  pm_id         关联项目
                  addtime     工作时间
                 
实现效果:
            选择一时间段,例如;从2007.4.1到   2007.4.6   ,按对应时间、项目列出工作编号。


数据表:

    pm

    pm_id         pm_name
     
    1                   A1
    2                   A2

    work
    work_id         pm_id       addtime
    3                       1             2007.4.1
    4                       2             2007.4.2
    5                       1             2007.4.3
    6                       1             2007.4.4
    7                       2             2007.4.5
    8                       2             2007.4.6


          要实现的结果如下:
-----------------------------------
          2007.4.1       2007.4.2       2007.4.3       2007.4.4     2007.4.5     2007.4.6
-----------------------------------    
A1             3                                             5                       6                
-----------------------------------
A2                                 4                                                               7                     8


  应该如何写查询语句?如何实现,谢谢!分数不够可再加,在线等哦。祝五一快乐!                  
          如何循环嵌套实现,请高手指点,最好写的详细一些,非常感谢!                

                         




[解决办法]

[解决办法]
俺不是高手.进错了.sorry.
[解决办法]
那偶就更不是了~~
[解决办法]
create view v_pwt as
begin
select a.addtime as time,a.pm_id as pid,a.work_id as wid,b.pm_name as pname from work a,pm b where a.pm_id=b.pm_id group by a.work_id order by a.addtime asc
end

rs.open "select distinct pm_name from pm ",1,1
count=rs.recordcount
dim p(count+1)
'输出项目名称
for i=0 to count
if i=0 then
response.write( " ")
else
response.write(rs( "pm_name "))
p(i)=rs( "pm_name ")
end if
response.write " <br> ------- <br> "
next
rs.close
rs.open "select time,wid,pname from v_pwt order by time asc ",1,1
if not rs.eof then
response.write rs( "time ")
response.write " <br> ---------- <br> "
for i=1 to count
if p(i)=rs( "pname ") then
response.write wid
else
response.write " "
end if
response.write " <br> ----------- <br> "
next
end if
rs.close
==========
以上内容之提供思路,并未经过测试


[解决办法]
rs.open "select distinct pm_name from pm ",1,1
count=rs.recordcount
dim p(count+1)
'输出项目名称
%>
<div style= "float:left "> >
<%
for i=0 to count
if i=0 then
response.write( " ")
else
response.write(rs( "pm_name "))
p(i)=rs( "pm_name ")
end if
response.write " <br> ------- <br> "
next
rs.close
%>
</div>
<%
rs.open "select time,wid,pname from v_pwt order by time asc ",1,1
while not rs.eof
%>
<div style= "float:left ">
<%
response.write rs( "time ")
response.write " <br> ---------- <br> "
for i=1 to count
if p(i)=rs( "pname ") then
response.write wid
else
response.write " "
end if
response.write " <br> ----------- <br> "
next
%>
</div>
<%
wend
rs.close
</div>

热点排行