Count を 使った ソースコードを紹介する表示色の説明:ASP VBScriptは <% 〜 %> キーワードはCount です。
<%@LANGUAGE=VBScript%>
<html>
<head>
<title>SQL Count関数を使用したサブクエリーを埋め込み順位を求める</title>
</head>
<body>
<h1>SQL Count関数を使用したサブクエリーを埋め込み順位を求める</h1>
Count関数を使用したサブクエリーを埋め込み、<br>
顧客別のコード順に順位を振ってみます<br>
作成するSQL文↓<br>
<pre>
strSQL = "Select ID, 顧客, 購入商品, "
strSQL = strSQL & " (Select Count(*) From T_DATA AS T_TEMP "
strSQL = strSQL & " Where T_TEMP.顧客 = T_DATA.顧客 "
strSQL = strSQL & " And T_TEMP.購入商品 < T_DATA.購入商品) AS 順位"
strSQL = strSQL & " From T_DATA"
</pre>
<hr>
<%
'ADO DB Connection オブジェクトを作成する、英文そのままじゃん
Set db=Server.CreateObject("ADODB.Connection")
'データアクセスにはJet.OLEDB.4.0を使うことを設定
db.Provider = "Microsoft.Jet.OLEDB.4.0"
'次に、接続DBの位置を渡すので、Server.MapPathで変換して渡す
db.ConnectionString = Server.MapPath("db105.mdb")
db.open 'データベースを開く
'
strSQL = "Select ID, 顧客, 購入商品, "
strSQL = strSQL & " (Select Count(*) From T_DATA AS T_TEMP "
strSQL = strSQL & " Where T_TEMP.顧客 = T_DATA.顧客 "
strSQL = strSQL & " And T_TEMP.購入商品 < T_DATA.購入商品) AS 順位"
strSQL = strSQL & " From T_DATA"
Response.Write "発行するSQL文<br>"
Response.Write Server.HTMLEncode(strSQL) & "<HR>"
Set rs = db.Execute(strSQL)
'データの表示をテーブルで行う
Response.Write "<TABLE Border='1'>"
'見出しを(フィールド名を)そのまま書き込む
Response.Write "<TR>"
For Each fld_A In Rs.Fields 'フィールドのアイテムに対してループ
Response.Write "<TH>" & fld_A.Name & "</TH>"
'↑.Nameでフィールド名を表示する
Next
Response.Write "</TR>"
'お約束のEOFまでループは(データが無くなるまでループ)、
Do While rs.EOF = False 'レコードセットの.EOFがFalseの間
Response.Write "<TR>" '内容を表示する
For Each fld_A In Rs.Fields 'フィールドのアイテムに対してループ
Response.Write "<TD>" & fld_A.Value & "</TD>"
'↑.Valueでフィールドの値を表示する
Next
Response.Write "</TR>"
'次のレコードにポインタを移動する
rs.MoveNext 'これを忘れると悲惨なことに、、、
Loop
Response.Write "</TABLE>" 'テーブルは終わりです
'後始末
rs.Close '開いていたレコードセットを閉じる
db.Close 'データベースも閉じようよ
Set db = Nothing 'お行儀よくオブジェクトも開放しましょう
%>
<hr>
↑なんとか顧客別に順位を振れたのかな<br>
↓テストデータ↓<br>
</body>
</html>
| 最近発売の雑誌を紹介する
女性誌を紹介します。数少ない女性プログラマー向けの広告でした(笑)
- sweet (スウィート) 2008年 06月号
- JILLE (ジル) 2008年 06月号
- 私の時間 2008年 06月号
- ELLE girl (エル・ガール) 2008年 06月号
- CUTiE (キューティ) 2008年 06月号
- BAILA (バイラ) 2008年 06月号
- RUSSH JAPAN (ラッシュジャパン) 2008年 06月号
- ar (アール) 2008年 06月号
- FRaU (フラウ) 2008年 06月号
|