关于数据表格显示的问题!

浪潮之巅 2009-09-29 11:06:52
我数据库中的数据是以下这样的:
53859 线材 ∮6.5 Q235 3540 首钢<br>唐钢<br>宣钢<br>承钢<br> 北京 2009-09-24 18:03:02.000
53860 线材 ∮8 Q235 3540 首钢<br>唐钢<br>宣钢<br>承钢<br> 北京 2009-09-24 18:03:02.000
53861 线材 ∮10 Q235 3540 首钢<br>唐钢<br>宣钢<br>承钢<br> 北京 2009-09-24 18:03:02.000
53862 线材 ∮12 Q235 3670 首钢<br>唐钢<br>宣钢<br>承钢<br> 北京 2009-09-24 18:03:02.000
54466 线材 ∮6.5 Q235 3540 首钢<br>唐钢<br>宣钢<br>承钢<br> 北京 2009-09-25 17:16:55.000
54467 线材 ∮8 Q235 3540 首钢<br>唐钢<br>宣钢<br>承钢<br> 北京 2009-09-25 17:16:55.000
54468 线材 ∮10 Q235 3540 首钢<br>唐钢<br>宣钢<br>承钢<br> 北京 2009-09-25 17:16:55.000
54469 线材 ∮12 Q235 3670 首钢<br>唐钢<br>宣钢<br>承钢<br> 北京 2009-09-25 17:16:55.000
55261 线材 ∮6.5 Q235 3540 首钢<br>唐钢<br>宣钢<br>承钢<br> 北京 2009-09-26 10:27:08.000
55262 线材 ∮8 Q235 3540 首钢<br>唐钢<br>宣钢<br>承钢<br> 北京 2009-09-26 10:27:08.000
55263 线材 ∮10 Q235 3540 首钢<br>唐钢<br>宣钢<br>承钢<br> 北京 2009-09-26 10:27:08.000
55264 线材 ∮12 Q235 3670 首钢<br>唐钢<br>宣钢<br>承钢<br> 北京 2009-09-26 10:27:08.000

我想显示成
日期 ∮6.5 ∮8 ∮10
2009.09.02 3750 3750 3750
2009.09.03 3700 3700 3700
2009.09.04 3620 3620 3620
2009.09.07 3550 3550 3550
2009.09.08 3550 3550 3550
2009.09.09 3570 3570 3570
2009.09.10 3670 3670 3670
2009.09.11 3670 3670 3670
2009.09.14 3670 3670 3670
2009.09.15 3670 3670 3670
2009.09.16 3650 3650 3650
2009.09.17 3650 3650 3650
2009.09.18 3650 3650 3650
2009.09.21 3650 3650 3650
2009.09.22 3650 3650 3650
2009.09.23 3650 3650 3650
2009.09.24 3650 3650 3650
2009.09.25 3620 3620 3620
平均价 3643 3643 3643
应该怎么做才好?
...全文
72 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
aemyang1987 2009-09-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shenzhennba 的回复:]
ASP 大致如下,根据自己需要实际修改一点:
VBScript code<%dim rs,conn,sql
conn=...'(数据库连接打开)sql="...."'(查询语句)"
rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1if rs.eofand rs.bofthen
response.write"<b>NO data.</b>"elsedim dt,r,r1,r2,r3
r=0
r1=0
r2=0
r3=0
response.write"<table width=100%>"
response.write"<tr><td>日期</td><td>∮6.5</td><td>∮8</td><td>∮10</td></tr>"dowhilenot rs.eof
r=r+1
response.write"<tr>"'--------Date----------------------------------------- response.write"<td>"
dt=split(rs.fields("create_date").value,"")
response.write dt(0)
response.write"</td>"'----------6.5--------------------------------------- response.write"<td>"
response.write rs.fields("rp1").value
r1=r1+rs.fields("rp1").value
response.write"</td>"'----------8--------------------------------------- response.write"<td>"
response.write rs.fields("rp2").value
r2=r2+rs.fields("rp2").value
response.write"</td>"'----------10--------------------------------------- response.write"<td>"
response.write rs.fields("rp3").value
r3=r3+rs.fields("rp3").value
response.write"</td>"'--------------------------------------------------- response.write"</tr>"
rs.movenextloop

response.write"<tr>"
response.write"<td>平均价</td>"
response.write"<td>"& (rp1/r)&"</td>"
response.write"<td>"& (rp2/r)&"</td>"
response.write"<td>"& (rp3/r)&"</td>"
response.write"</tr>"
response.write"</table>"endif
%>

其中SQL语句如下:
SQL codeselect create_date,
(case[specification]when'∮6.5'then[price]else''end)as rp1,
(case[specification]when'∮8'then[price]else''end)as rp2,
(case[specification]when'∮10'then[price]else''end)as rp3from Resource

[/Quote]顶
浪潮之巅 2009-09-29
  • 打赏
  • 举报
回复
产品的规格是不定的,如用:response.write "<tr><td>日期</td><td>∮6.5</td><td>∮8</td><td>∮10</td></tr>"
这样写的话就不行了。
shenzhenNBA 2009-09-29
  • 打赏
  • 举报
回复
ASP 大致如下,根据自己需要实际修改一点:

<%
dim rs,conn,sql
conn=... '(数据库连接打开)
sql="...." '(查询语句)"

rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "<b>NO data.</b>"
else
dim dt,r,r1,r2,r3
r=0
r1=0
r2=0
r3=0
response.write "<table width=100%>"
response.write "<tr><td>日期</td><td>∮6.5</td><td>∮8</td><td>∮10</td></tr>"
do while not rs.eof
r=r+1
response.write "<tr>"
'--------Date-----------------------------------------
response.write "<td>"
dt=split(rs.fields("create_date").value," ")
response.write dt(0)
response.write "</td>"
'----------6.5---------------------------------------
response.write "<td>"
response.write rs.fields("rp1").value
r1=r1+rs.fields("rp1").value
response.write "</td>"
'----------8---------------------------------------
response.write "<td>"
response.write rs.fields("rp2").value
r2=r2+rs.fields("rp2").value
response.write "</td>"
'----------10---------------------------------------
response.write "<td>"
response.write rs.fields("rp3").value
r3=r3+rs.fields("rp3").value
response.write "</td>"
'---------------------------------------------------
response.write "</tr>"
rs.movenext
loop

response.write "<tr>"
response.write "<td>平均价</td>"
response.write "<td>" & (rp1/r) & "</td>"
response.write "<td>" & (rp2/r) & "</td>"
response.write "<td>" & (rp3/r) & "</td>"
response.write "</tr>"
response.write "</table>"
end if
%>


其中SQL语句如下:

select create_date,
(case [specification] when '∮6.5' then [price] else '' end) as rp1,
(case [specification] when '∮8' then [price] else '' end) as rp2,
(case [specification] when '∮10' then [price] else '' end) as rp3
from Resource

浪潮之巅 2009-09-29
  • 打赏
  • 举报
回复
表格是这样的:
USE [test]
GO
/****** 对象: Table [dbo].[Resource] 脚本日期: 09/29/2009 11:18:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Resource](
[ID] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[specification] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[material] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[price] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[elite_series] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL,
[city_name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[create_date] [datetime] NULL,
CONSTRAINT [PK_Resource] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
shenzhenNBA 2009-09-29
  • 打赏
  • 举报
回复
53859 线材 ∮6.5 Q235 3540 首钢 <br>唐钢 <br>宣钢 <br>承钢 <br> 北京 2009-09-24 18:03:02.000

以上是一个字段的内容吗?

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧