Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
山崎です。
例えば、ローカルのCSVファイルを読み込む時に、同じくローカルのSQLiteのテーブルにあるデータを使って
抽出条件としてCSVを呼び込むロードスクリプトの書き方がわかりません。
ODBC CONNECT TO data2017;
tmp_data:
LOAD id,
name,
age,
sex
FROM
csv\master2017.xlsx
(ooxml, embedded labels, table is Sheet1)
Where id IN (SELECT ID from TableA Where sex = 'man');
このアプローチができないとなれば、他にどのようなやり口があるか
教えていただければ幸いです。
やりたいことは、SQL Liteに存在するIDでsexがmanを取り出したいということですかね?
下記のような感じでできます。
tempSQL:
SQL Select ID FROM TableA where sex='max';
LOAD id,
name,
age,
sex
FROM
csv\master2017.xlsx
(ooxml, embedded labels, table is Sheet1)
Where exsists(ID,id);
drop table tempSQL;
SQLiteは使ったことが無いので、記述はおかしいかもしれませんが、以下のように先にSQLiteから対象を取得して、Inner Joinでcsvファイルをひもづければどうでしょうか?
SELECT ID from TableA Where sex = 'man';
Inner Join
LOAD id,
name,
age,
sex
FROM
csv\master2017.xlsx
(ooxml, embedded labels, table is Sheet1);
やりたいことは、SQL Liteに存在するIDでsexがmanを取り出したいということですかね?
下記のような感じでできます。
tempSQL:
SQL Select ID FROM TableA where sex='max';
LOAD id,
name,
age,
sex
FROM
csv\master2017.xlsx
(ooxml, embedded labels, table is Sheet1)
Where exsists(ID,id);
drop table tempSQL;
Kawahara さん
期待通りのデータ取得が出来ました。
ありがとうございます。
抽出条件のテーブル:A
対象データ(CSV、EXCEL、テーブル):B
Where exists(A:項目、B:項目)
このような書き方が出来るなら、柔軟なデータ取得と不要なデータを持たないやり方が
出来るのでデータ加工で対応力が上がった気持ちです。
ありがとうございました。
「exsists」便利ですね!
参考になりました。