我想将一个表与其自身连接起来,以找到每一行具有相等条件的父级。另外,我需要保持只有一个家长采取一个谁的领域“计数”是最低限度的。以下是示例数据:
product date1 date2 version counts
A.16 15/04/2021 17/04/2021 1 20
A.18 18/04/2021 16/04/2021 1 15
A.15 17/04/2021 18/03/2021 1 18
A.20 19/04/2021 20/03/2021 1 33
A.35 20/04/2021 30/03/2021 1 8
请求如下:
select b.product
, b.date1
, b.date2
, b.version
, c.product as parent
from pr_convert b
left join pr_convert c
on (c.date1< b.date1 and c.date2> b.date2)
这不起作用,它给了我一个错误: Both left and right aliases encountered in JOIN 'date1'
然后我尝试将不等式条件放在where子句中:
select b.product
, b.date1
, b.date2
, b.version
, c.product as parent
from pr_convert b
left join pr_convert c
on b.version=c.version
where b.date1< c.date1 and b.date2> c.date2
由于“version”字段的值对于所有记录都是相同的,而且我的表非常大,因此它会消耗大量资源并占用大量时间。
任何帮助都将不胜感激。
暂无答案!
目前还没有任何答案,快来回答吧!