我有两个名为region和data的表。
regions
<Id>, <Name>, <ParentId>
1 a 0
2 b 0
3 c 1
data
<Id>, <Url>, <RegionId>
1 "..." 3
2 "..." 2
3 "..." 1
4 "..." 1
例外结果当使用WHERE regions.ParentId = 0 condition
时<data.Id>, <CatId>, <data.Url>
3 1 ""
4 1 ""
2 2 ""
1 1 ""
我想获取数据记录,data.RegionId与regions.Id匹配或匹配regions.Id和...的子节点。然后创建名为CatId的新列,该列应该是具有子ParentId = 0的regions.Id。 我需要为每个CatId设置项目限制。例如10
答案 0 :(得分:0)
答案中有一半问题返回匹配regionid或父ID的数据记录
select d.id , r.id as catid ,d.url
from data d join regions r on r.id = d.regionId
union
select d.id , r.id as catid ,d.url
from data d join regions r on r.parentid = d.regionId
现在告诉我你真正想要的是什么,以便我们给出正确的答案