■5813 / ) |
複雑な条件検索と処理の流れについて
|
□投稿者/ 猫子 -(2010/04/28(Wed) 01:50:55)
| お世話になります。 度々すみません。自分ではどうにも先に進まないのでお力を貸して下さい。
やりたいことは、表Aにあるデータと同一のものが表Bにもあるかどうかを1行ずつ調べて、該当するものがあれば表Aの「フラグ」項目にチェックを入れることです。
表A、表Bともに項目名は、 [時刻]:時間型 , [都道府県]:文字列 , [分類]:整数 , [マーク]:文字列 [名前]:文字列 です。
検索をする条件は、表Bの[時刻]が表Aの[時刻]よりも15分以降のもので、[名前]が必ず同一のもので、他の項目も内容が一致するものを探します。
全ての項目が一致するもの以外にも、同一のものである可能性があればフラグを立てたいのですが、「都道府県」と[分類]、[マーク]は表A、Bともに未定義値のものがあり、[分類]に至っては3桁のうち先頭の1桁しか入力されていないものもあります。
こんなにややこしい検索条件も可能でしょうか?
[名前]は同名のものが大量にあるので、両表とも[名前]で昇順並べ替え、 繰り返しの中で登録した検索条件を使ってヒットするものがあれば、併合絞り込みをして、表Aの[フラグ]に 1 を置換して、表Bの方は選択肢から外すために補集合か削除をしていくのかな?と漠然と考えています・・・。
全項目が一致した場合の検索条件の登録の時点で、「コマンドの形式に誤りがあります」とエラーになってしまい、どう書いたらよいのかわかりません。
表Aの項目の値をそれぞれ変数に入れて、 検索条件登録 条件名 = "全項目一致", {[時刻]≧&時刻 , [都道府県]=&都道府県 , [分類]=&分類 , [マーク]=&マーク , [名前]=&名前} と書きました。 もしかしたら配列変数を使うのかな?とも思ったのですが、方法がわかりません。
全部の項目が一致した場合、 [都道府県]と[分類]と[名前]だけが一致した場合、 [都道府県]と[マーク]と[名前]だけが一致した場合、 [都道府県]と[名前]だけが一致した場合、 [分類]と[マーク]と[名前]だけが一致した場合、 [分類]と[名前]だけが一致した場合、 [分類]の1文字目が一致し、[名前]も一致した場合、 [マーク]と[名前]だけが一致した場合、 と if で分岐させて、どれにも該当しなければ else で表Aの[フラグ]に 0 と置換したらいいのか?と考えたのですが、こちらも if の()内にどう書いたらよいのかわかりません。
[名前]だけは必ず一致していなければいけません。
丸投げな質問で大変申し訳ないのですが、どうかご教示下さいますよう宜しくお願い致します。
|
|