0

我有下表

| id | title    | parent |
------------------------
|  1 | example  |   0    |
|  2 | example2 |   2    |
   3   example3     3
   4   example4     2
   5   example5     2

如何在标题字段的函数中进行查询以取回 parent_id 值相等的所有行。

parent示例:显示与匹配的行相同的所有行title="example2"

应该回馈

2 | example2 | 2
4 | example4 | 2
5 | example5 | 2
4

3 回答 3

1

当您只有titleas 参数并且想要所有与同一行相关的行时,parent_id您可以使用子查询:

SELECT * FROM tbl WHERE parent IN (SELECT parent FROM tbl WHERE title = "example2")

或者您基本上可以使用联接实现相同的目的:

SELECT related.* 
FROM tbl source
LEFT JOIN tbl related ON source.parent = related.parent
WHERE source.title = "example2"
于 2012-05-02T12:11:45.393 回答
0

你的问题有点令人困惑:

如果您想要 parent 为 2 的结果,请使用(正如 mattytommo 建议的那样):

 SELECT * FROM table
 WHERE parent = 2

如果您想要 parent 等于 id 的结果,请使用:

SELECT * FROM table
WHERE id = parent
于 2012-05-02T12:08:48.790 回答
0

我想你是想说“给我所有与我的匹配行具有相同父 id 的行”,这将是这个查询:

select t2.*
from table t1
join table t2 on t2.parent = t1.parent
where t1.title = 'example2'
于 2012-05-02T12:10:52.253 回答