任何人都可以帮我理解这个查询吗? 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
答案 0 :(得分: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
答案 1 :(得分:1)
mktpgmvhclxref.mktpgmvhclxrefId.mktgPgm
[--Schema----].[----table-----].[Column]
答案 2 :(得分:1)
我得到了我的问题的答案。 与hibernate映射有关。 第二个字段实际上是表的复合键。