1

誰かが私がこのクエリを理解するのを手伝ってもらえますか?主にそのmktpgmvhclxref.mktpgmvhclxrefId.mktgPgm部分。一般的にはそうですtable_name.columnNameが、ここではフォーマットが異なるようです

SELECT mktpgmvhclxref.mktpgmvhclxrefid.mktgpgm, 
       mktpgm.mktgpgm, 
       mktpgmvhclxref.cmpgn, 
       campaign.cmpgndescription, 
       mktpgmvhclxref.mktpgmvhclxrefid.vhcl, 
       vhclhierarchy.modname, 
       mktpgmvhclxref.mktpgmvhclxrefid.modyr, 
       mktpgmvhclxref.userinsrt, 
       mktpgmvhclxref.rowinsrt 
FROM   mktpgmvhclxref mktpgmvhclxref, 
       mktpgm mktpgm, 
       vhclhierarchy vhclHierarchy, 
       campaign campaign 
WHERE  mktpgmvhclxref.mktpgmvhclxrefid.mktgpgm = mktpgm.idmktgpgm 
       AND mktpgmvhclxref.cmpgn = campaign.campaignid 
       AND mktpgmvhclxref.mktpgmvhclxrefid.vhcl = vhclhierarchy.vhcl 
4

3 に答える 3

4

多くの場合、データベースによっては、最初の識別子はスキーマ/データベース名です。

[schema].[table].[column]

ほとんどのデータベースでは、名前が明確な場合[schema][table]修飾子はオプションです。[column]

しかし、あなたの場合、これがあなたの条項mktpgmvhclxrefの表のように実際の場合であるとは思えません。FROMたとえば、Oracleは、ユーザー定義の型(UDT、OBJECT型)も認識しています。だから私はそれを推測しています:

mktpgmvhclxref.mktpgmvhclxrefid.mktgpgm

に対応

mktpgmvhclxref   = table
mktpgmvhclxrefid = column
mktgpgm          = UDT attribute

Oracleを使用している場合は、UDTを次のように見つけることができます。

select * 
from all_type_attrs 
where (owner, type_name) = ((
  select data_type_owner, data_type
  from all_tab_cols
  where table_name = 'MKTPGMVHCLXREF'
  and column_name = 'MKTPGMVHCLXREFID'
))
order by attr_no
于 2012-10-25T10:23:31.937 に答える
1

私は私の質問に対する答えを得ました。Hibernateマッピングに関連しています。2番目のフィールドは、実際にはテーブルの複合キー用です。

于 2012-10-30T10:02:42.287 に答える
1
mktpgmvhclxref.mktpgmvhclxrefId.mktgPgm
[--Schema----].[----table-----].[Column]
于 2012-10-25T10:25:10.627 に答える