2013-02-26 41 views
0

我有兩個視圖,我想將它們合併到一個視圖中,以便它們的記錄不會合併到一個記錄中!我的意思是想我有這些表:(!想這是一個賣表是我們的客戶出售的東西)如何從兩個表中創建一個視圖或表,以便它們的行不合並?

表一個

Date   Description   Fee  Number  Money   
12/2/2012  something    10$  20   200$ 
10/3/2012  somethingelse   20$  30   600$ 

表二(假設這就是我們的客戶有錢表!)

Date   Description   Money   
02/8/2012  someinfo    5000$ 
12/1/2012   stuff    3100$ 

,將所得表或視圖將(基於日期遞減順序上):

Date   Description   Fee  Number  Money 
02/8/2012  someinfo    0   0   5000$  
10/3/2012  somethingelse   20$  30   600$ 
12/2/2012  something    10$  20   200$ 
12/1/2012   stuff     0   0   3100$ 

我怎樣才能達到這種形式?這兩張表是分開的,但每張表都有唯一的代表銷售員賬戶的個人ID。 (所以基本上這意味着這些信息只屬於一個人,而我們的客戶只需要一個報告,只給他這個具體的視圖!) 我試過在這兩個表上使用UNION,但合併的行! 如果我使用連接,那麼只會有一行將兩個表格行合併在一起。所以我卡在這裏,不知道現在該做什麼。

+0

UNION ALL不會強迫獨特性,所以如果從每個表中的一行將在視圖中導致重複,你會看到重複哪裏聯盟不想。 – 2013-02-26 18:35:10

+1

選擇你的毒藥,所有答案都是正確的。 – 2013-02-26 18:38:29

+0

UNION和UNION ALL之間有什麼區別嗎?我使用聯盟,並沒有得到預期的結果?! – Breeze 2013-02-26 18:41:06

回答

2

我認爲你需要UNION ALL不僅僅是UNION。

select Date, Description, Fee, Number, Money 
from table1 
    UNION ALL 
select Date, Description, 0 Fee, 0 Number, Money 
from table2 
order by Date 
+0

你錯過了關鍵字的費用和號碼 – Breeze 2013-02-27 03:56:46

+0

你不需要。它沒有工作。我個人認爲這太過分了。 – darin 2013-02-28 03:47:44

2

我認爲這應該做到這一點。

CREATE VIEW new_view AS 

SELECT * FROM table_one 

UNION ALL 

SELECT *, 0 as Fee, 0 as Number FROM table_two; 
+1

頂部的'SELECT * FROM'什麼都不做。刪除它和括號,以便我可以upvote。 :) – 2013-02-26 18:37:27

+0

謝謝。喜歡這個? – Gijs 2013-02-26 18:38:19

+1

你不需要括號,老實說,我不確定他們是否會搞砸語法。我不認爲他們會,但我會刪除他們。 :) – 2013-02-26 18:39:16

2

嘗試財產以後像

CREATE VIEW vMyView 
AS 
SELECT [Date], [Description], [Fee], [Number], [Money] 
FROM v1 
UNION ALL 
SELECT [Date], [Description], 0 AS [Fee], 0 AS [Number], [Money] 
FROM v2 
+0

非常感謝你:) – Breeze 2013-02-26 18:40:35

相關問題