pickup

 

SQLをSQLビューから作成を始めると、今までのクエリが無駄に思えてきます。

エイリアスとjoinを利用して、クエリを作成します

目次

スポンサーリンク

サイバイマンを減らすクエリ

 

こんにちは。伊川(@naonaoke)です。

前回は、エイリアスについて解説しました。

 

しかし、実行するクエリに関しては、3つあります。

この3つのクエリを1発で実行する方法を紹介します。

 

単純に、INNER JOINと、エイリアスを利用します。

JOINに関しては、下記の記事で紹介しています。

 

 

相変わらずですが、競馬ネタであることをご了承ください。

スポンサーリンク

このブログはこんな人にお勧め

 

今回のテーマ
  • ACCESSを勉強している人
  • クエリを勉強している人
  • ACCESSにクエリが沢山ある人

このブログを、読み終わるころには・・・・

 

このブログの結論

複数のクエリを作成すると、メンテナンスが困難になります。

SQLを、直で編集するスキルがあれば、複数のクエリを作成することなく、

1つのクエリで実行することができます。

スポンサーリンク

1発のクエリで実行する

 

Q_買い目1というもを作成するのに、

  • Q_指数買い目順位2
  • Q_指数買い目順位5

上記の2つのクエリが必要となります。

当然、1発で実行できるなら、2つのクエリは不要になるわけです。

この、Q_指数買い目順位2、Q_指数買い目順位5は、MT_数値追加から、派生したものです。

MT_数値追加から、派生したクエリ(サイバイマン)ならば、1発で実行できます。

1発のクエリで実行する 作業手順 その1 見出しの考え方

 

SELECT ~

FROM~

WHERE~

 

この形が基本です。

SQL文の見出しの書き方

SELECT

ここには、クエリの見出しを書きます。

FROM

 

 

MT_数値追加と、Q_買い目1には、何も共通するものはありませんので、見出しは、考えて作成しなければなりません。

今回のケリの見出し
SELECT
Left(T1.レースID馬,16) AS レースID
,0 AS 返還フラグ
,4 AS 券種
,Val(Right(T1.レースID馬,2)) AS 軸2
,Val(Right(T2.レースID馬,2))AS ヒモ
,0 AS 空白
,100 AS 購入金額
,Null AS 空白2
,”A” AS 自信
FROM

Naosuke
なぜこのような見出しを作成するかというと、この並びではないと、JRAに自動投票できないからです。
余談ですが、このようなことをやっていると、会社の実務なんてカンタンにこなせるようになります。
自動投票に関しては、妥協は許されません。
しかし、実務に関しては、妥協は許されます。なぜならば、出来ないものは、出来ないからです。
できないモノを、どうやって、出来るようにするのかっていうこと考える事が、スキル向上につながります。
出来る、出来ないは、問題ではありません。

 

 

1発のクエリで実行する 作業手順 その2 テーブルを結合する

WHERE T1.順位=2 AND T2.順位=5;

2位と、5位で抽出するには、このように記載します。

FROM

MT_指数追加 AS T1 INNER JOIN MT_指数追加 AS T2

ON Left(T1.レースID馬,16) = Left(T2.レースID馬,16)

 

 

1発のクエリで実行する 作業手順 その3 完成のSQL文

 

SELECT 
     Left(T1.レースID馬,16) AS レースID
     ,0 AS 返還フラグ
     ,4 AS 券種
     ,Val(Right(T1.レースID馬,2)) AS 軸2
     ,Val(Right(T2.レースID馬,2))AS ヒモ
     ,0 AS 空白
     ,100 AS 購入金額
     ,Null AS 空白2
     ,"A" AS 自信
FROM
 MT_指数追加 AS T1 INNER JOIN MT_指数追加 AS T2
 ON Left(T1.レースID馬,16) = Left(T2.レースID馬,16)
 WHERE T1.順位=2 AND T2.順位=5

 

これで、3つのクエリを、1個にまとめることができました。

ここがポイント

 

ここがポイント
Function8.png
競馬ネタなので、どうでもいい事なのですが、3つのクエリが1つになったということが、うれしくい思います。SQL文を、直接編集することで、痒い所に手が届くような感じになります。実務でも、痒い所に手が届かず、ヤキモキしていることも、多々あると思います。そんなときは、サブクエリ、JOIN、エイリアスを利用して、クエリを効率よく作成しましょう。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

 

データベースを利用するなら、この程度のクエリは、サクサク書けるようになりたいですね。

千里の道も一歩からではないでが、日々、精進したいと思います。

今回も最後まで読んでいただきありがとうございました。

今回のサンプルファイルは、No303です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事