我有一个包含以下结构的表
Id P1 P2(HirarchyId)
----- ------ --------------
1 Name1 /1600/1601/
2 Name2 /1300/
hirarchy id的关键是不同表的外键
Id P2
---- ------
1600 p2Name1
1601 p2Name2
1300 p2Name3
我想写一个查询,它可以根据我通过的P2传递结果。
像这样的东西
select Id, P1 from TableP1 where P2 in (1600, 1300)
我知道这是不可能的,但需要一些替代方案来实现这一目标。如果可能,请告诉我。
答案 0 :(得分:2)
SELECT TableP1.Id, TableP1.P1
FROM TableP1
JOIN TableP2 ON TableP1.P2.ToString() like '/'+TableP2.Id+'%'
AND TableP2.Id in (1600, 1300)