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

mysql:2609

From: "ADDY" <"ADDY" <addy@xxxxxxxxxx>>
Date: Thu, 19 Oct 2000 17:18:05 +0900
Subject: [mysql 02609] SQL文

こんにちは。
経験抱負な皆様にSQL文の書き方でお聞きしたいのです。
二つのテーブルのデータを1つのSQL文で引っ張りたいのですが、どうしても
欲しい結果がとれません。皆様のお知恵を拝借いたしたく今回もMLに書き込み
してしまいました。

tableA: varchar id, int num1, varchar tmp1, varchar tmp2, varchar tmp3
    '01', 10, 'test1', 'test2', 'test3'
tableB: varchar id, int num1, int num2, int num3, int num4
    '01', 10, 10, 10, 20
    '01', 9, 9, 9, 20
    '01', 8, 8, 8, 20

上記の様なテーブルがあると仮定します。欲しい結果は、テーブルAの項目の
幾つかとテーブルAのID = テーブルBのIDのテーブルBの項目の合計なんです。
プラス、テーブルBの項目の方は、whereで条件づけした物を合計したい
んです。

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にした
らよいのでしょう。
皆様、宜しくお願いします。

たかはし、


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

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