前提・実現したいこと
最近、仕事でデータベースを使い始めるようになった初心者です。よろしくお願いします。
Table_Aにstart(timestamp)とend(timestamp)というデータがあります。
このstartとendの範囲をもとにTable_BのログデータをSELECTしTable_Aのレコードに追加して出力したいです。
試している内容
SELECT Start_Time, End_Time FROM Table_A; 出力 Start_Time End_Time value 2020-04-20 08:38:39.0 2020-04-20 08:48:52.0 1,000 2020-04-20 08:49:15.0 2020-04-20 08:54:23.0 500 2020-04-20 08:55:25.0 2020-04-20 08:58:33.0 300 ...以下続く SELECT Time_stamp, Material_temperature FROM Table_B WHERE Time_stamp BETWEEN '2020-04-20 08:38:39.0' AND '2020-04-20 08:48:52.0' ORDER BY Time_stamp DESC LIMIT 1; 出力 Time_stamp Material_temperature 2020-04-20 08:48:51.0 99
Table_AとTable_BのTime_stampは同期していませんので少しズレています。
table_AのEnd_Time時に、Table_BのMaterial_temperatureがいくつだったかを取得したいです。
なので、Table_BのSELECTでは範囲指定したうちの最後のLIMIT 1で抽出しました。
補足:Table_BはMaterial_temperatureを1秒毎に記録しているロギングでーたです。
希望する出力結果
Start_Time End_Time value Material_temperature 2020-04-20 08:38:39.0 2020-04-20 08:48:52.0 1,000 99 2020-04-20 08:49:15.0 2020-04-20 08:54:23.0 500 112* 2020-04-20 08:55:25.0 2020-04-20 08:58:33.0 300 120*
Pythonで抽出してpandasで扱いたいデータです。
Table_Aに追加したいということではありません。
上のTable_BのSELECTは、LIMIT 1なので1つしか抽出できませんが、
*のところも一度に結合できれば幸いです。
初心者なので、質問している内容が的外れでしたら申し訳ありません。
補足情報(FW/ツールのバージョンなど)
WindowsのDBeaverバージョン6.2.3でクエリ書いています。
mysql Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/22 12:29