北海道利尻郡利尻町Q&A

  • 締切済

    質問access2007で、条件抽出する方法を教えてください

    • 2010/3/30
    • g19851223

    ACCESSの初心者です。
    下記データ形式で、条件抽出を行いたいです。
    【テーブル1】
    【抽出条件テーブル】
    【抽出結果テーブル】

    ・抽出条件は、完全一致抽出でなく”含む”でやりたいです・(例:)*老人福祉施設*
    ・そして、抽出結果には、重複行が出ないよう、重複削除がされていて欲しいです。
    ・【抽出条件テーブル】の内容を更新されたら、容易に、新たな結果を取得できるような仕組みにしておきたいです。



    【テーブル1】
    会社名業種住所

    *****慶和園特別養護老人ホーム,老人福祉施設北海道虻田郡京極町字更進
    ***特別養護老人ホームほのぼの荘特別養護老人ホーム北海道利尻郡利尻町仙法志字政泊
    ***町役場/特別養護老人ホーム特別養護老人ホーム北海道利尻郡利尻富士町鬼脇字金崎
    ***村役場/特別養護老人ホーム銀河荘特別養護老人ホーム北海道虻田郡留寿都村字留寿都
    ****/普仁園・愛仁園特別養護老人ホーム,福祉施設,養護老人ホーム,老人福祉施設北海道帯広市南町



    【抽出条件テーブル】
    業種住所
    老人福祉施設北海道
    老人福祉施設青森県
    老人福祉施設岩手県

    ラーメン店北海道
    ラーメン店青森県
    ラーメン店岩手県



    【抽出結果テーブル】
    会社名業種住所

    *****慶和園特別養護老人ホーム,老人福祉施設北海道虻田郡京極町字更進
    ***特別養護老人ホームほのぼの荘特別養護老人ホーム青森県*******
    ***町役場/特別養護老人ホーム特別養護老人ホーム岩手県利尻郡利尻富士町鬼

    続きを読む

  • 回答

    • 2010/3/31
    • 30246kiku

    提示されたサンプルは、空白部分が項目の区切りですよね。

    【テーブル1】の名前を「T1」、項目が「会社」「業種」「住所」
    【抽出条件テーブル】の名前を「T2」、項目が「業種」「住所」

    と仮定します。

    抽出結果を表示するクエリを考えてみます。


    SELECT DISTINCT T1.* FROM T1, T2 WHERE
    T1.業種 LIKE "*" & T2.業種 & "*" AND T1.住所 LIKE T2.住所 & "*"
    ;

    ※住所部分は前方一致にしてみました。


    【抽出結果テーブル】の名前を「T3」、項目が「会社」「業種」「住所」とすると、

    SELECT DISTINCT T1.* INTO T3 FROM T1, T2 WHERE
    T1.業種 LIKE "*" & T2.業種 & "*" AND T1.住所 LIKE T2.住所 & "*"
    ;


    ※使えるものなのかは、やってみてください。

    間違ってたらごめんなさい。


    ※ DISTINCT の使い方をヘルプ等で確認してみてください。
    (重複うんぬんの時に便利かも)

    続きを読む