[pgsql-jp: 33412] Re: PostgreSQLによる集計について。

Wataru Oguro oguro @ zenrin-datacom.net
2004年 6月 29日 (火) 12:17:13 JST


oguroです。

Shinsuke Saitou wrote:

>今回は、以下に記しますテーブルを全部使わないといけないのです・・・。
>テストの際は、MASTER_CHARACTERテーブルを除いたSQLで動作しました。
>
>  
>
>>2. そのテーブルと、それに関係したところを、SQL文から取り除く
>>    
>>
>はい、それは投稿以前にやっておりました。情報が足りませんでしたね・・。
>現状、MASTER_CHARACTERテーブルを除いた、SQL(後述)にて動作確認済みです。
>
>  
>
>>3. それでもエラーが出るかチェック
>>    
>>
>エラーというか・・情報が抽出できないのです。
>
>  
>
>>4. 1-3を繰り返して、エラーの発生箇所を絞り込む
>>    
>>
>MASTER_CHARACTERテーブル関係のSQL文がおかしいと思っております。
>
master_characterテーブルには、この条件でヒットするであろうレコードが格納
されているんですよね?

>■NGなSQL(上記にMASTER_CHARACTER関係のSQLを追加してます)
>SELECT 
>	l.caria_code, cr.caria_name, 
>	l.contents_code, ct.contents_name, 
>	ch.char_id, ch.char_name, 
>	l.file_no, 
>	l.category_code, cg.category_name, 
>	count(l.file_no) as count 
>FROM 
>	all_master as l 
>	inner join master_caria as cr  on l.caria_code	     = cr.caria_id 
>	inner join master_contents as ct on l.contents_code  = ct.contents_id 
>	inner join master_category as cg on l.category_code  = cg.category_id 
>
ここから下が追加条件となると、master_characterに該当レコードがないだけの
ような気がします。
もう一度、各テーブルのデータを確認してみてはいかがでしょうか。
(推測の域を出ないので、適当なことを言っているかも知れませんが・・・・・)

>	inner join master_character as ch on l.file_no	     = ch.file_no 
>	and  l.caria_code    = ch.caria_id 
>	and  l.contents_code = ch.contents_id 
>	and  l.category_code = ch.category_id 
>

>WHERE 
>	substr(date,0,8) = '2004-02' and l.contents_code=99999 
>GROUP BY 
>	l.caria_code, l.contents_code, l.category_code, l.file_no, 
>	cr.caria_name, ct.contents_name, cg.category_name ,ch.char_id, 
>	ch.char_name ,ch.caria_id, ch.contents_id, cg.category_id 
>ORDER BY 
>	l.caria_code, l.contents_code, l.category_code, l.file_no;
>  
>





pgsql-jp メーリングリストの案内