2013-10-16 79 views
-2

所以我有一個關於排序通過我的數據的問題,讓我們說出於參數的緣故,我在過去3年的每個月訪問一個有多個表,所以可以說36個表,每個表都有一個Colum稱爲寵物和名爲(A person name)的列。寵物可以是貓,狗或魚。我想做一個交叉查詢,通過每個表查找所有不同的人的名字,然後計算寵物有多少次「貓」,「狗」或「魚」。我想知道如何去做這件事,也可以深入研究並找出一個人是否說Jane有3只貓和2只狗,其中「狗」是從哪裏來的,哪張桌子上的「貓」是從哪裏來的?訪問查詢創建求和

回答

0

下面是我將如何處理這樣的事情。

創建一個視圖,將所有表連接在一起。該視圖的形式如下:

SELECT "TB1" as TableName, name, pet 
FROM Table1 

UNION ALL 

SELECT "TB2" as TableName, Name, pet 
FROM Table2 

UNION ALL ... 

繼續將所有表聯合在一起。然後,您可以針對您的視圖編寫查詢。

喜歡的東西

SELECT Name, Pet, Count(Pet), TableName 
FROM View 
Group BY Name, Pet, TableName 

讓我補充一點,這樣的設計將是一個維護的噩夢觀察。將所有內容放在一個包含日期列的表中,這樣你就不必加入多個表中。下個月,您將不得不更新您的視圖以包含新表格。