[前][次][番号順一覧][スレッド一覧]

mysql:2614

From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Fri, 20 Oct 2000 00:29:40 +0900
Subject: [mysql 02614] Re: SQL文

とみたです。

["ADDY" <addy@xxxxxxxxxx> さんが]
["[mysql 02609] SQL文" で曰く]

> select ta.id, ta.tmp1,ta.tmp2,ta.tmp3, sum(tb.num4)
> from tableA as ta, tableB as tb
> where ta.unm1 > 0 and
> tb.id = ta.id and tb.num1 > 10 and tb.num2 > 10 and tb.num3 >10
> group by tb.id order by ta.num1;
> 
> こんな感じなんですが、当然このSQLだと、
> 
> id | tmp1 | tmp2 | tmp3 | sum(tb.num4)
> -------------------------------
> 01| test1 | test2 |test3 | 0
> 
> という結果にはならず、Empty Set でもどってきます。
> ”tb.id = ta.id and tb.num1 > 10 and tb.num2 > 10 and tb.num3 >10”の
> 部分を sum(tb.num4) のwhere節として用いるには、どのようなSQLにした
> らよいのでしょう。

LEFT JOIN を使えばできると思います。

	select ta.id, ta.tmp1, ta.tmp2, ta.tmp3, sum(tb.num4)
	from tableA as ta left join TableB as tb
	on ta.id = tb.id and tb.num1 > 10 and tb.num2 > 10 and tb.num3 > 10
	group by tb.id order by ta.num1;

---
とみたまさひろ <tommy@xxxxxxxxxx> http://www.tmtm.org
日本MySQLユーザ会 http://www.mysql.gr.jp

[前][次][番号順一覧][スレッド一覧]

      2609 2000-10-19 17:18 ["ADDY" <addy@xxxxxxx] SQL文                                
->    2614 2000-10-20 00:29 ┗[とみたまさひろ <tomm]