2016-09-14 117 views
0

有人可以幫助我嗎?我有幾張表格和一些數據。我需要查詢此表,每天和負荷加工成另一個表的行數:SQL中的臨時表創建

Table1: 
PNO ModelNo OrderNo CustID DAY 
1  100012 1000AY  2345  31-AUG 
2  109014 100YT8  3452  01-AUG 
2  109014 100YT8  3452  31-AUG 

Table2: 
AN DAST CODE ROWS DAY 
19 VEN  EFD  19  31-AUG 
21 EHT  UYE  21  01-SEP 
22 VEG  WTE  24  01-SEP 

Final Table: 
DAY  Source  Rows 
31-AUG Table1  2 
01-SEP Table1  1 
31-AUG Table2  1 
01-SEP Table2  2 

*資料來源:應該是表名。

我是否需要使用Temp表或創建一個內部查詢概念並執行它?想知道哪些是有效的。請幫忙。

讓你更新:所有這些表都是同一個模式下創建..

+0

我會問,爲什麼你需要這種表的? – Shaharyar

+0

因此,我們需要向我們的客戶發送每個數據源(表)每天處理多少行給我們的最終客戶。我們正計劃加載到單獨的表中,以便進行現成的備份。 – user3624000

回答

0

由於沙哈里亞爾顧名思義,是爲實際創建這樣一個表的原因充其量可能是有問題的。但是,查詢來創建結果表:

SELECT 'Table1' as Source, COUNT(*) as Rows, DAY FROM Table1 GROUP BY DAY 
UNION 
SELECT 'Table2' as Source, COUNT(*) as Rows, DAY FROM Table2 GROUP BY DAY 

這對很多表不能很好地擴展。雖然。此外,最好在DAY列上添加索引。

如果你真的想生成一個顯現的表,這可能做的工作:

CREATE TABLE final_table SELECT ... 
+0

是不是可以從FROM cluase動態生成表名?而不是硬選​​擇條款中的表名稱? – user3624000

+0

我不會使用工會在這裏會有所幫助。正確? – user3624000

+0

問題是,實際的表名不是數據。 sql允許你切換,操作,以及你想要用數據做什麼......但是你不能輕易地生成查詢本身......(你需要udf或其他高級的東西) – Jakumi