- 締切済み
重複データをテーブルに表示しないようにしたい
ASP初心者です。宜しくお願いします。 SQLで取得したデータをページに表示させたいのですが、その時、重複項目は一つ目だけを表示させ、二つ目以降は表示させないようにしたいと思っています。(以下表をご参照下さい) 大分類 |中分類 |小分類 |品名 --------------------------------------------------------- お菓子 |焼き菓子 |クッキー |イチゴクッキー | |ケーキ |イチゴショート | | |イチゴマカロン |氷菓子 |アイスクリーム|ストロベリーアイス |その他 |飴 |苺飴 主食 |パン |デニッシュ |イチゴデニッシュ --------------------------------------------------------- if文を組み合わせれば良いのは分かるのでが上手く書けず苦しんでいます。 宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- asx
- ベストアンサー率50% (27/54)
こんにちは。 現在、テーブルを表示するとき、SQLでとってきた結果の件数文、ループでぐるぐるまわして、1行ずつ表示しているのでしたら、 1つ前の列の内容と比較して、書き出す・書き出さない、という処理をすればできると思いますが、いかがですか? 例えば、 1回目のループでは、 [大分類] = お菓子 [中分類] = 焼き菓子 [小分類] = クッキー [品名] = イチゴクッキー ですよね。 コレを変数か何かで保持しておいて(例えば[prev_大分類][prev_中分類]などに)、 2回目のループのときに、 if [大分類]<>[prev_大分類] then response.write [大分類] end if if [中分類]<>[prev_中分類] then response.write [中分類] end if とやればできると思うのですが、もっとスマートなやり方があるとは思います。。 すみません、中途半端なアドバイスで。
お礼
お礼が遅くなり申し訳ありません。 やはり一つ前の行との比較が必要なのですね。二回目のループの時と、比較する時の記述が分からないので調べてみます。 ありがとうございました。
補足
仰るとおりにやってみたつもりなのですが上手く行きませんでした。 前のレコードと比較するので、こんな風になってしまいます。(3レコード目の中分類を見てください) 大分類 |中分類 |小分類 |品名 --------------------------------------------------------- お菓子 |焼き菓子 |クッキー |イチゴクッキー | |ケーキ |イチゴショート |焼き菓子 | |イチゴマカロン |氷菓子 |アイスクリーム|ストロベリーアイス |その他 |飴 |苺飴 主食 |パン |デニッシュ |イチゴデニッシュ --------------------------------------------------------- 一番初めのレコードとの比較で二番目のレコードの表示、非表示は正常にいきますが、二番目のレコードを非表示にした場合、三番目のレコードがまたデータを表示してしまいます。 困り果てました。もう少し頑張ってみますが、お手すきでしたら助言下さると嬉しいです。