我現在想做一個資料記錄的資料庫,資料庫的表格數量會根據當前時間和上一次創建表格時間比較不停創建(設定30天創建一個)。
這樣的話查詢起來會有多種表格,但是每個表格的資料格式定義是相同的,其中有一列是datetime。
在創建了多個表格之后,查詢陳述句對我來說就變難了。
我通過查詢列定義能查出共創建了多少個表格,但是怎么從這么多表格中根據datetime查出同一時間所有的其他資料成了問題,希望得到解決。
uj5u.com熱心網友回復:
SELECT * FROM 表1,表2,表3 WHERE DATETIME>'2020-09-24 09:24:59' AND DATETIME<'2020-10-25 09:25:20';這種查詢方式肯定是錯的,本人小白,不太會復雜的語法,希望懂的人能夠幫幫我。
把錯誤語法列出來是為了說的簡單點,大概意思就是怎么像查詢單表一樣查詢多表。
uj5u.com熱心網友回復:
但是怎么從這么多表格中根據datetime查出同一時間所有的其他資料成了問題。這句話不太理解,是不是根據時間范圍查資料uj5u.com熱心網友回復:
可以根據年月去建表,例如table_2020_01,table_2020_02等,然后查詢的時候根據時間范圍去拼sql。不過這個時間范圍可能跨月份,你看看是業務妥協,不能跨月份查詢,或者是寫sql的時候用union拼一下兩張表uj5u.com熱心網友回復:
是的,就是得看怎么可以跨月份查詢,萬一那一天正好跨了兩個月,就是麻煩事,拼表查詢怎么弄欸,能不能寫一個示范看看
uj5u.com熱心網友回復:
你建個視圖不就行了,只要定時修改視圖內容uj5u.com熱心網友回復:
你后端語言是什么,用的什么持久層框架uj5u.com熱心網友回復:
東西比較簡單,就是用labview連接在電腦上的ODBC資料源
uj5u.com熱心網友回復:
那個還不會...那是不是就變的麻煩了,我等會去了解看看
uj5u.com熱心網友回復:
這個涉及到聯合查詢,類似于下面陳述句select a.*, b.* from user a left join pj_tester b on a.ITCode = b.Teste
https://blog.csdn.net/ericwuhk/article/details/106411528
uj5u.com熱心網友回復:
用union可以解決你的問題。創建的表有規則,那就可以知道資料落在哪些表里了,比如落在 table_2020_01,table_2020_02,table_2020_03
查詢可以這么寫:
select * from table_2020_01 where datetime>'2020-09-24 09:24:59' and datetime<'2020-10-25 09:25:20'
union [all]
select * from table_2020_02 where datetime>'2020-09-24 09:24:59' and datetime<'2020-10-25 09:25:20'
union [all]
select * from table_2020_03 where datetime>'2020-09-24 09:24:59' and datetime<'2020-10-25 09:25:20'
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/183245.html
標籤:MySQL
上一篇:mysql自定義函式中如何呼叫表中定義的自定義函式?
下一篇:關于第四次自考,在問題中成長
