是否有一种方法可以从表中检索一组行,同时还包括(连接、并集?)同一个表中其 id 在初始选择中引用的行?这是一个例子。
ID Name Surname UserID ParentID
--------------------------- ------------------
1 Daniel Brown 1 0
2 John Brown 2 4
3 Andrew Brown 3 5
4 Simon Smith 4 0
5 Peter Smith 5 1
所以我想检索姓氏为 Brown 的所有行,以及与父值相关的所有行。在此示例中,将返回所有行。
如果可能的话,我想在一个查询中完成此操作。请注意,我也不想返回 Peter Smith 的父行 (1)。只是初始搜索(所有布朗一家)以及与初始搜索相关的 parent 。
最佳答案
您可以尝试以下 -
<强> DEMO
select id,name,surname,parent from tablename
where surname='Brown'
union
select a1.id,a1.name,a1.surname,a1.parent from tablename a join tablename a1
on a.parent=a1.id
where a.surname='Brown'
输出:
id name surname parent
1 Daniel Brown 0
2 John Brown 5
3 Andrew Brown 4
4 Simon Smith 0
5 Peter Smith 1
关于mysql - 从表中选择行加上与一个查询中所选行相关的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58202489/