[英]How to write a SQL query for multiple tables without join
我有一個包含 ~ 1000 個表的數據庫,其中每個表都有date
列。 我想看看 2000 年到 2016 年之間有多少張桌子。
每個表都是一個公司名稱,因此我需要在 2000 年到 2016 年之間獲得資助的所有公司,我需要這個查詢。
我嘗試過類似的東西
SELECT *
FROM date
WHERE date BETWEEN 2000 AND 2020;
但問題是,我需要為所有 ~ 1000 張桌子做這件事。
有沒有辦法為 SQL 查詢編寫一個簡單的循環?
謝謝你的幫助。
SELECT *
FROM (
SELECT CompanyName FROM table1
UNION
SELECT CompanyName FROM table2
)
WHERE date BETWEEN 2000 AND 2020
動態查詢如下。 您將所有表名保存在“yourTable”中。
Declare @ID int,
Declare @tableName varchar(50)
Set @ID =1
While Exists(select * from yourTable where ID <=1000)
BEGIN
Set @tableName = (Select tableName from yourTable where ID = @ID)
Select CompanyName from @tableName
Where
date BETWEEN 2000 AND 2020
+ ' UNION ALL '
Set @ID = @ID +1
END
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.