0

レコードが1つのレコードにマージされないように、それらを1つのビューにマージしたい2つのビューがあります。私はこれらのテーブルを持っていると仮定します:

表1(これが販売テーブルであり、顧客が何かを販売したと仮定します!)

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

表2(これが顧客がお金を稼いだテーブルだとしましょう!)

  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$

どうすればこのフォームを実現できますか?これらの2つのテーブルは別々ですが、それぞれにセールスマンアカウントを表す一意の個人IDがあります。(つまり、基本的に、これらの情報は1人だけのものであり、顧客はこの特定のビューのみを提供するレポートを求めています!)これら2つのテーブルでUNIONを使用してみましたが、行がマージされました!! 結合を使用すると、2つのテーブルの行がマージされる行のみが存在するため、ここでスタックし、今何をすべきかわかりません。

4

3 に答える 3

2

私はこれがそれをするべきだと思います。

CREATE VIEW new_view AS

SELECT * FROM table_one

UNION ALL

SELECT *, 0 as Fee, 0 as Number FROM table_two;
于 2013-02-26T18:36:05.557 に答える
2

UNIONだけでなくUNIONALLが必要だと思います。

select Date, Description, Fee, Number, Money
from table1
    UNION ALL
select Date, Description, 0 Fee, 0 Number, Money
from table2
order by Date
于 2013-02-26T18:36:13.443 に答える
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
于 2013-02-26T18:36:42.353 に答える