webForumDet fria alternativet

Tabell till Matris

Webbutveckling

3 svar · 259 visningar · startad av yohpops

Medlem sedan feb. 20011 198 inlägg
Frågan#1

Hej.

Hur kan man göra för att skriva ut denna datan.

SEESCO	START	KLART	BYDATE
53219	0	0	20050627
53290	0	0	20050627
53219	0	0	20050628
53290	1	0	20050628
53219	1	0	20050629
53290	4	0	20050629
53219	0	0	20050630
53290	3	0	20050630
53219	0	0	20050701
53290	0	0	20050701

till denna matrisen

SEESCO	START20050627	KLART20050627	START20050628	KLART20050628	START20050629	KLART20050629	START20050630	KLART20050630	START20050701	KLART20050701
53219	0		0		0		0		1		0		0		0		0		0
53290	0		0		1		0		4		0		3		0		0		0

Alla värden är dynamiska.
Det bästa skulle vara om det gick i SQL-frågan, men jag kan inte komma på hur.

Jobbar i JSP men söker mest idéer.
Det ska skrivas ut i en HTML-tabell.

Medlem sedan mars 20034 471 inlägg
#2

Har du prövat följande SQL-fråga?

SELECT SEESCO, START, KLART, BYDATE FROM Tabell
GROUP BY SEESCO

Den ger inte precis det du vill, men kanske en bra bit på väg?

Medlem sedan feb. 20011 198 inlägg
#3

aasah skrev:

Har du prövat följande SQL-fråga?

SELECT SEESCO, START, KLART, BYDATE FROM Tabell
GROUP BY SEESCO

Den ger inte precis det du vill, men kanske en bra bit på väg?

Den kommer generera ett fel eftersom START, KLART och BYDATE inte finns med i group by listan.

Medlem sedan feb. 20011 198 inlägg
#4

Okej.

Såhär löste jag det lite snabbt.

<table border="1">
<%
dim cn,rs,i,v_grp,v_data,grp_name,tbl_name
set cn = server.CreateObject("adodb.connection")
set rs = server.CreateObject("adodb.recordset")
cn.Open="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("db1.mdb")
'grp_name="SETECH"
'tbl_name="Sheet2"
'grp_name="SEESCO"
'tbl_name="Sheet1"
grp_name="SEJBST"
tbl_name="Sheet3"
set rs = cn.Execute("select distinct "& grp_name &" from "& tbl_name &" order by " & grp_name)
i=0
do until rs.eof
	v_grp = rs(0)
	v_data = getAllMyData(v_grp,i,tbl_name,grp_name)
	response.Write v_data
	i=i+1
	rs.MoveNext
loop
cn.Close()
set cn = nothing
function getAllMyData(in_grp,in_row,in_tbl_name,in_grp_name)
	dim v_header,v_ret,v_start,v_klart,v_newdate,rsMy,strSql
	strSql = "select [START],[KLART],BYDATE from "& in_tbl_name &" where "& in_grp_name &" = '"& in_grp &"'"
	set rsMy = cn.Execute(strSql)
	if cint(in_row)=cint(0) then
		v_header = "<tr><td>" & in_grp_name
	end if
	v_ret = "<tr><td>" & in_grp
	do until rsMy.eof
		v_start=rsMy("START")
		v_klart=rsMy("KLART")
		v_newdate = rsMy("BYDATE")
		if cint(in_row)=cint(0) then
			v_header = v_header & "</td><td>" & "S" & v_newdate & "</td><td>" & "K" & v_newdate
		end if
		v_ret = v_ret & "</td><td>" & v_start & "</td><td>" & v_klart
		rsMy.movenext
	loop
	v_ret = v_header & "</td></tr><tr><td>" & v_ret & "</td></tr>"
	getAllMyData = v_ret
	set rsMy = nothing
end function
%></table>

Ska bara koda om till jsp.

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)