我正在尝试select
或manipulate
一个字段,我可能做错了什么。
这是查询:
SELECT DISTINCT Record1ID
,Record1IdName
,Record2Id
,Record2IdName
,TmpTable.is_child
,TmpTable.is_child_parent
FROM db777..Connection Child
INNER JOIN db777..Contact cont ON Child.Record2Id = cont.ContactId
INNER JOIN db666..idt_v_sales TmpTable ON cont.Id = TmpTable.Id
WHERE (
Child.Record2RoleId = 'F07533'
OR Child.Record1RoleId = 'C417DE'
)
ORDER BY Child.Record2Id;
Connection
表有两个重要的列。第一个是Record1Id
(父ID),第二个是Record2Id
(子ID)。
我已经确定Record2Id
将在Join
表之间“引导”,但是,当我想拥有正确的数据\操纵字段TmpTable.is_child_parent
我的数据时实际上我得到了该字段的错误结果,因为在创建Join(s)
时,我的主键是Child的键,并且该字段是parent
字段。
那么,我如何解决这个问题,以便使用和获取Parent和Child的数据?
我想要的结果如下:
Record1Id Record1IdName Record2Id Record2IdName TmpTable.is_child TmpTable.is_parent_child
123 A 111 DD 40 50
456 B 111 DD 40 0
Connection
表包含Foloowing列:
Record1Id
,Record1IdName
,Record2Id
,Record2IdName
。
Contact
表包含'ContactId'列,可以是Parent的Id(来自Connection表的Record1Id)或Child的Id(来自连接表的Record2Id)。
TmpTable
(idt_v_sales)包含不同类型的Id,除了请求的列之外,它还与Contact表连接:is_child
和is_parent_child
。如上所述,is_child
只是孩子可以拥有的integer
,而is_parent_child
只是父母可以拥有的整数。