我有一个名为“address”的表,其中包含:
...字段。
在标题栏中,插入区域和地区的名称。区域的parent_id值为零,区域的parent_id为区域的id。
我想要一个查询,它在一列中显示区域,而在另一列中显示相应的区域。
答案 0 :(得分: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
但是你的表结构有点奇怪,我会对数据库规范化做一些阅读。
答案 1 :(得分:0)
使用以下内容:
Select r.Region, s.State
from
(Select id, title as Region from address where parent_id=0) as r,
(Select id, title as State, parent_id from address where parent_id>0) as s
where s.parent_id = r.id
它是ANSI SQL。您可以根据需要进一步调整它。