2010年12月 7日

[pgsql-jp: 40595]JOIN構文についてご指導下さい

「あかいね」と申します。

Microsoft Access2007 + POSTGRES 9.0でDBの勉強を始めたばかりの者です。
どうぞよろしくお願い致します。

これまでエクセルで管理していた経理関係のデータをDBで管理しようと
しています。

経理科目はテーブル TBM_KAMOKU にあり、TBM_KAMOKUは

ID
TXT_KAMOKUTEXT

以上2フィールドです。IDは科目コードが格納されるテキスト型で、
TXT_KAMOKUTEXTは科目名を格納するテキスト型です。

一方、元になる仕訳データは TBH_SIWAKEHST にあり、TBH_SIWAKEHST は

ID
TXT_SIKWAKEDATE
TXT_ATESAKI
TXT_KARIKATA
TXT_KASHIKATA
INT_AMOUNT

以上6フィールド、IDのみシリアル型で他は全てテキスト型です。

これを、科目コードではなく科目名で表示させるSELECT文を発行したい
のですが、


SELECT
TBH_SIWAKEHST.ID,
TBH_SIWAKEHST.TXT_SIWAKEDATE,
TBH_SIWAKEHST.TXT_ATESAKI,

TBM_KAMOKU.TXT_KAMOKUTEXT, /* ←ここに借方科目を出したい */
TBM_KAMOKU.TXT_KAMOKUTEXT,  /* ←ここに貸方科目を出したい */

TBH_SIWAKEHST.INT_AMOUNT

FROM
TBH_SIWAKEHST

INNER JOIN TBM_KAMOKU ON TBH_SIWAKEHST.TXT_KARIKATA=TBM_KAMOKU.ID;

これだとTXT_KARIKATAを引数とした同じ内容の列が2行表示されます。
(これは理解出来ます)
したがって、TXT_KASHIKATAを引数とした列を表示させるためにJOIN構文を
加工しようとしたのですが、例えば

FROM
(TBH_SIWAKEHST
INNER JOIN TBM_KAMOKU ON TBH_SIWAKEHST.TXT_KARIKATA=TBM_KAMOKU.ID)
INNER JOIN TBM_KAMOKU ON TBH_SIWAKEHST.TXT_KASHIKATA=TBM_KAMOKU.ID;

などとしても

ERROR: テーブル名"tbm_kamoku"が複数指定されました

となります。

この場合どのようにすれば良いでしょうか?

投稿者 xml-rpc : 2010年12月 7日 13:04
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/100589
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。