<HOME  <お願い事項  <Access2000 TOP   <Access97 TOP   <サイト内検索
 MS-Access2002チョ〜入門部屋>クエリを極める
  



 menu

57. [アルバイト社員テーブル]と[社員テーブル]の両方から、社員の一覧を出す(UNION)

社員でも、昔アルバイトとして就職してた人がいたりして、どうも情報が混ざっちゃってるみたい・・・。
アルバイトと社員の両方の一覧を作りたいと思ってるんですが、両方のテーブルに登録されちゃってる社員をダブらずに表示させるためにはどうしたらいいでしょう・・・。

UNIONというクエリがあります。
デザインビューを使わず、直接SQL文を入力して作るタイプのクエリです。
イメージとしては、ふたつのクエリの結果を縦積みにする感じです。
作るのが難しいクエリではありますが、時と場合によっては活躍すると思います


要は、こういうふたつのSQL文を↓


UNIONというキーワードで結びつけてやるってことなんです。
とりあえず今回は、番号と名前だけ選びましょう。名前のリストを作るのが目的ですからね。

ただ、これはデザインビューを使って作ることはできません。
UNIONは、SQL文を直接入力する「SQLクエリ」と呼ばれるタイプのクエリなんです。
作り方としては、とりあえずクエリを新規作成し、テーブルを何も選ばないで「テーブルの表示」ウィンドウを閉じてしまいます。
そうすると、まっさらな、テーブル名のないデザインビューが開いてきますので・・・。

メニューバーの[クエリ]→[SQL]→[ユニオン]を選びます。
出てきたウィンドウに、直接SQL文を入力します。

両方のテーブルに登録されちゃってるネコも、ダブらず出てきてると思うんですけど、どうでしょう。



【参考:SQL文で書くと?】

ORDER BYというのが「並べ替え」の指定なんですが、UNIONの場合はフィールド名ではなくて「列番号」で指定します。
一番左端の列で並べ替えをしたいから、1、っていうわけですね。