人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ACCESS2003の質問です。

クエリ1:

SELECT FLD1, FLD2, Left([FLD3],3) AS FLD4
FROM テーブル1;

クエリ2:

SELECT FLD1, FLD2, テーブル2.FLD4, テーブル2.FLD5
FROM クエリ1 INNER JOIN テーブル2 ON クエリ1.FLD4 = テーブル2.FLD4;

上の2つのクエリを、ひとつにまとめる方法は、あるでしょうか。

やりたいのは、テーブル1のFLD3の頭3桁と
テーブル2のFLD4の3桁を結合して
両テーブルのフィールドを表示する事です。

ひとつのクエリで処理したほうが
速いかと思い質問しました。
よろしくお願いします。


●質問者: rupopon
●カテゴリ:コンピュータ 学習・教育
✍キーワード:as ON SELECT ひとつ クエリ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● koriki-kozou
●60ポイント

Accessらしさなら、下のような感じ

SELECT FLD1, FLD2, Left([FLD3],3) AS FLD4,
DLOOKUP("FLD5", "テーブル2", "FLD4 = '" & FLD4 & "'") AS FLD5
FROM テーブル1
;

サブクエリ使うなら、下のような感じ(上よりは少し早いはずだけど、データが少ないと変わらない)

SELECT テーブル1.FLD1, テーブル1.FLD2, Left(テーブル1.FLD3,3) AS FLD4, テーブル2.FLD5
FROM テーブル1
LEFT JOIN テーブル2 ON テーブル2.FLD4 = Left(テーブル1.FLD3,3)
;

Accessのクエリは他のデータベースのVIEWみたいなものだからクエリ2つでも、クエリ1つでも速度に関してはあまり変わらないかもしれない

◎質問者からの返答

ありがとうございました。試させて頂きます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ