表1:首先
id name
1 Alpha
2 Beta
表2:第二次
id name
1 Charlie
2 Delta
表3:关系
id child_id parent_id belongsToFirst
所以我正在努力解决以下问题:
我想创建一个包含两个不同表之间的父子关系的表。因此当Alpha是Delta的父级时,第三个表将保存如下数据:
id child_id parent_id belongsToFirst
1 2 1 0
如果child_id是'First'组的一部分,则belongsToFirst
将为1,如果不是,则为{0}。此值(0或1)将在后端代码中设置,因此除了需要在查询中之外,它对问题并不重要。
现在我奋斗的地方是第一组中的子/父关系也是可能的。所以Beta可能是Alpha的父母。这将在后端代码中定义,该代码最终将呈现查询,因此SQL不需要解决查找关系,但需要能够从同一个表中选择两个ID。
在伪代码中,这将是:
Insert into Relations (child_id, parent_id, belongsToFirst)
Select id From (First or Second table) Where name='givenname'
And also
Select id From (First or Second table) Where name='givenname'
And lastly add value (0 or 1) to belongsToFirst
First or Second table name
将由后端(不是SQL)上的代码以及givenname
和belongsToFirst
值生成,但如果两者都有,则查询应该仍然有效条目来自同一张表。
有人可以帮帮我吗?我一直在试图用UNION抨击我的头撞墙,但此时此事已经过去了。谢谢