| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 912 人关注过本帖
标题:关于查询的问题[已解决]
只看楼主 加入收藏
firever
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-7-20
收藏
 问题点数:0 回复次数:14 
关于查询的问题[已解决]

表track里有字段id,orderid,sum,marktime,typeid
其中数据如:
id orderid sum marktime typeid
1 107 5000 2006-7-11 1
2 107 380 2006-7-12 2
3 107 1000 2006-7-12 1
4 107 2000 2006-7-14 3
......................
表parts里有字段id,typeno,productid................
如:
id typeno productid................
1 j-506 |3|, |4|
2 j-097 |3|
3 j-106 |4|
.......................
set rs3=server.CreateObject("adodb.recordset")
sql3="select * from parts order by id desc"
rs3.open sql3,conn,1,3
do while not rs3.eof
manage=rs3("productid")
dst="|"+trim(rs("productid"))+"|" //rs("productid")是从另个表中取的数据,这里的值是数字4
if instr(manage,dst)>0 then
%>
<tr bgcolor=#ffffff>
<td><%=rs3("typeno")%></td><td><%=rs3("name")%></td> //rs3("name")是parts表中的其他字段,这里不去管它
<%
for j=0 to i //通过其他计算已经知道这里i=16
jtime=rs("start")+j //rs("start")是从另个表中取的数据,这里的值是2006-7-11
set rs2=server.CreateObject("adodb.recordset")
sql2="select * from track where orderid=107 and typeid="&rs3("id")&" and marktime="&jtime
rs2.open sql2,conn,1,3
if rs2.bof and rs2.eof then jsum=0 else jsum=rs2("sum") end if
%>
<td align=right><%=jsum%></td>
<%
next
%>
</tr>
<%
end if
rs3.movenext
loop
rs2.close
set rs2=nothing
rs3.close
set rs3=nothing

结果没有达到想要的效果
2006-7-11 2006-7-12 2006-7-13 2006-7-14.......................
j-506 0 0 0 0..............................
j-106 0 0 0 0..............................
..................
想要达到的效果为:
2006-7-11 2006-7-12 2006-7-13 2006-7-14.........................
j-506 5000 1000 0 0.............................
j-106 0 0 0 2000.............................
....................

请大虾帮忙看看问题出在哪里?

[此贴子已经被作者于2006-7-28 14:09:46编辑过]

搜索更多相关主题的帖子: sum 字段 marktime orderid typeid 
2006-07-27 13:02
firever
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-7-20
收藏
得分:0 
在线跪求,顶一下

Firever Zone
2006-07-27 13:24
firever
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-7-20
收藏
得分:0 

斑竹你在哪里


Firever Zone
2006-07-27 14:45
greess
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-7-3
收藏
得分:0 
jtime=rs("start")+j
时间类型可以这样加吗?
2006-07-27 15:27
firever
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-7-20
收藏
得分:0 
以下是显示最上面一排日期的代码,我想应该可以这样加的吧
<%
i=rs("closetime")-rs("start") //rs("closetime")是另个表的取的数据。这里的值是2006-7-27
for j=0 to i
%>
<td><%=rs("start")+j%></td>
<%
next
%>

Firever Zone
2006-07-27 15:49
greess
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-7-3
收藏
得分:0 
总是觉得有点复杂,因为毕竟是画二维的坐标,时间处理用DateAdd函数,好像用加是不对的
2006-07-27 16:28
firever
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-7-20
收藏
得分:0 
确实写的复杂了点。因为本人刚入门没多少时间。如果有大大有比较简单的方法。希望能指教。谢谢

Firever Zone
2006-07-27 16:44
greess
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-7-3
收藏
得分:0 
有思路了,今天我要下班了,明天看能不能帮你写好
2006-07-27 17:05
greess
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-7-3
收藏
得分:0 

<%
Dim Conn,ConnStr
Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr = "Provider=SqlOleDb;database=login;uid=sa;pwd=123456;"
Conn.Open ConnStr
%>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td></td>
<td>
<%
Dim tbStart,tbEnd
tbStart = "<table><tr>"
tbEnd = "</tr></table>"
Response.Write(tbStart)
Dim i,k,Stime,a()
k=3
Redim a(k)
Stime = "2006-7-11"
Response.Write("<td>&nbsp;</td>")
for i = 0 to k
Nowtime = DateAdd("d",i,Stime)
Response.Write("<td width='56px'>"& Nowtime &"</td>")
a(i)=Nowtime
next
Response.Write(tbEnd)
%>
</td>
</tr>
<tr>
<td>
<%
set rs3=server.CreateObject("adodb.recordset")
sql3="select * from parts where productid like '%|4|%' order by id asc"
rs3.open sql3,conn,1,3

Response.Write("<table>")
Dim b(),TmpLen,j
TmpLen = rs3.RecordCount
Redim b(TmpLen)
for j=0 to TmpLen-1
Response.Write("<tr><td>"&rs3("typeno")&"</td></tr>")
b(j)=rs3("id")
rs3.movenext
next
Response.Write("</table>")
%>
</td>
<td>
<%
for j=0 to TmpLen-1
Response.Write(tbStart)
for i = 0 to k
set rs2=server.CreateObject("adodb.recordset")
sql2="select * from track where orderid=107 and typeid="&b(j)&" and marktime='"&a(i)&"'"
rs2.open sql2,conn,1,3
if rs2.bof and rs2.eof then
jsum=0
else
jsum=rs2("sums")
end if

Response.Write("<td width='57px' align='center'>"&jsum&"</td>")
next
Response.Write(tbEnd)
next
%>
</td>
</tr>
</table>

2006-07-28 08:46
firever
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-7-20
收藏
得分:0 
谢谢greess兄,基本已经看懂了。现在在准备如果转化到我的程序里。是否实现应该下午就可以知道了。再谢!

Firever Zone
2006-07-28 09:46
快速回复:关于查询的问题[已解决]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015192 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved