2つのテーブルを結合する必要があります。 左テーブルのすべての属性は、他のテーブルと結合できるかどうかに関係なく、結果テーブルに表示する必要があります。MySQLの左結合が正常に動作しません
私はfollwingを行うと、私はこれを行うと予想される結果
week_table:
date kw note
---------- -- ----
2012-04-01 0 NULL
2012-04-02 0 NULL
fact_table:
id number_of_application number_of_cluster number_of_jvm number_of_node number_of_was fk_wasversion fk_date fk_domain fk_osname fk_osarch fk_osversion fk_stage
-- --------------------- ----------------- ------------- -------------- ------------- ------------- ---------- --------- --------- --------- ------------ --------
1 114 8 80 18 18 6.0 2012-04-01 domain1 Linux sparc 2 stage1
2 114 8 80 18 18 6.0 2012-04-02 domain1 Linux sparc 2 stage1
3 114 8 80 18 18 6.0 2012-04-01 domain1 AIX sparc 2 stage1
4 114 8 80 18 18 6.0 2012-04-02 domain1 Solaris sparc 2 stage1
を得るいけない:
select
w.date,
coalesce(sum(f.number_of_was), 0)
from
week_table w
left join fact_table f on (w.date = f.fk_date)
where f.fk_osname = "AIX"
group by w.date;
私は取得のみ:
期待date coalesce(sum(f.number_of_was), 0)
---------- ---------------------------------
2012-04-01 18
:
date coalesce(sum(f.number_of_was), 0)
---------- --------------------------------
2012-04-02 18
誰かが理由を知っていますか?
よろしく
偉大はどうもありがとうございまし行うことができます=「AIX」 '
ある行だけを取得するために求めています - この作品は – veote