表格会是这样的:
id content parent_id
1 first 0
2 second 1
问题是: if if select id = 2我如何在查询中选择其父记录
SELECT *
FROM
table tb1
LEFT JOIN
table tb2
ON
tb1.parent_id = tb2.id
WHERE
tb1.id = 2
当id = 2时,结果将返回:
1 first 0
2 second 1
不仅仅是返回:
2 second 1
谢谢你
答案 0 :(得分:1)
试试这个
SELECT id,content,parent_id FROM table_name
WHERE (SELECT parent_id FROM table_name WHERE id=2) IN (id,parent_id)
答案 1 :(得分:0)
这里在您的查询中没有匹配的字段因此它返回空行!! 在parent_id中将其值从0更改为1,2
通过这样做tb2.id = tb1.parent_id将返回true,你将得到输出希望有帮助!!