このブログは不定期更新です

不定期更新のブログです。

期間を指定したログテーブルに、商品マスタをJOINして昇順でソートするクエリ

BigQuery上にテーブルを二つ作ってある状態。

 

SELECT
テーブルの場所.テーブル名 AS 列に付けたい名前,
テーブルの場所.テーブル名 AS 列に付けたい名前,
テーブルの場所.テーブル名 AS 列に付けたい名前
FROM
[テーブルの場所.テーブル名] LEFT JOIN EACH  [テーブルの場所.テーブル名]

ON
テーブルの場所.テーブル名.列の名前 = テーブルの場所.テーブル名.列の名前
WHERE テーブルの場所.テーブル名.列の名前
BETWEEN '20161101 00:00:00'
AND '20171231 23:59:59'
ORDER BY
テーブルの場所.テーブル名.列の名前 ASC;

 

SELECTの中で、作りたい表の列を書いてあげる。ASを付けると、列の名前を変えられる。BigQuery上では、全角文字を使わない方がいいのかな?ちょっと調べてない。

FROMは「左側のテーブルの内容に対して右側のテーブルの内容を結合」を意味してる。

ONは結合する条件。今回は「商品コード」をキーにして二つの表を結合したから、表の中の「商品コード」が記述されている列を指定。

WHERE~BETWEEN~ANDの部分で、結合された表の中から条件に合ったものだけを抽出してる。今回は期間を指定したかったので、ログ情報の中のタイムスタンプ列に記述されている内容を適当に書き換え。「'xx'」の部分はそれぞれのテーブル定義によって修正しなくちゃだめ。

最後にORDER BYで列を昇順(ASC)で並び変え。降順で並び変える場合はDESCに書き換える。