从表中检索两次相同的列

GJ.*_*GJ. 1 mysql sql

我有一个名为"地址"的表,其中包含:

  • ID
  • 标题
  • PARENT_ID

...领域.

在标题列中,插入区域和区域的名称.区域的parent_id值为零,区域的parent_id为区域的id.

我想要一个查询,在一列中显示区域,在另一列中显示相应的区域.

Gra*_*ark 5

您可以像这样将表连接到自己:

SELECT
   R.Title AS Region,
   D.Title AS District
FROM
   address R
INNER JOIN
   address D
   ON
   D.parent_id = R.id
   AND
   D.parent_id > 0
WHERE
   R.parent_id = 0
Run Code Online (Sandbox Code Playgroud)

但是你的表结构有点奇怪,我会对数据库规范化做一些阅读.