- 締切済み
Access 検索
次のようなAccessのテーブルがあります。 db 名 cmd_sale.mdb table 名 cmd_sale ID | 製番 | 分番 | coad | ---|------|------|------|------------ 1 |TB1111| 01 | L1 | ---|------|------|------|------------ 2 |TB1111| 02 | S1 | ---|------|------|------|------------ 3 |TB2222| 01 | L2 | ---|------|------|------|------------ 4 |TB2222| 02 | C1 | ---|------|------|------|------------ 5 |TB2222| 01 | S1 | ---|------|------|------|------------ 6 |TB3333| 01 | L2 | ---|------|------|------|------------ 7 |TB4444| 01 | LP1 | ---|------|------|------|------------ 8 |TB4444| 02 | L3 | ---|------|------|------|------------ 9 |TB1444| 03 | C2 | : : : 大体25000件位です。上記のようなテーブルから ASP でまず、code 列を 「C か D か L 」で検索します。 それから、頭にその文字がつくレコードを検索するのですが、そのとき 頭文字の次にくるのが、数字のものだけを検索します。 ここまではできたのですが、この続きで、 その頭文字がヒットした、レコードの製番のcolumnをみて、さらに 同じ製番のものを全て選択~表示するということをしたいのです。 後半部分の検索の仕方が全く分からなくて困っています。 どうか宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
SELECT * FROM cmd_sale WHERE 製番 IN (SELECT 製番 FROM cmd_sale WHERE SUBSTRING(coad, 1, 1) In ('C', 'D', 'L') AND SUBSTRING(coad, 1, 1) LIKE '[1-9]' GROUP BY 製番)
- tsukachan
- ベストアンサー率42% (202/470)
捕捉要求です 「同じ製番」とは何に対して同じなのでしょう? ASPからPOSTした検索条件ですか?それとも同じカラム内データが複数レコードで一致するものということでしょうか? 基本的にAccessMDBでASPからデータ要求する時は余程フレキシブルなもので無い限りASP側のSQL文では無く、Access側のクエリで予め作っておいた方が処理が早く面倒くさくもないですよ。
補足
ご回答有難うございます。 質問があいまいで申し訳ございません。 同じ製番とは、coadに対してです。 たとえば、検索条件で「L」を検索したとします。そうすると、coadカラムから「L1とかL2」を選択してきます。それから、それに対する製番を見ます。そのときに、例えばTB1111だったとしたら、その製番と同じ製番のcoad この場合だと「S1」も拾ってくる、といった感じです。 ちなみに、Access側のクエリで処理したものにはどうやってASPでアクセスするのでしょうか? 私の方でも、しらべて
お礼
大変有難うございました。 おかげさまで、解決いたしました。感謝いたします。