You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何菜单表关联的SQL内连接查询返回零行?

问题分析与解决方案

你的查询返回零行主要有两个关键问题:

1. 字段引用错误使用单引号

在SQL中,单引号'是用来包裹字符串常量的,而不是表字段名。你写的'menu_level2.relation' = 'menu_level1.url'其实是在比较两个固定字符串,而不是比较字段的值——显然这两个字符串不相等,所以没有匹配结果。

正确的写法应该去掉单引号,直接引用字段:

menu_level2.relation = menu_level1.url

2. 表名拼写错误

你的查询里写了menu_leve2,少了一个字母l,应该是menu_level2,这个拼写错误会导致数据库无法正确识别表,也是导致无结果的潜在原因。

修正后的基础查询

SELECT 
    menu_level2.url AS url2, 
    menu_level1.url AS url1 
FROM menu_level2 
INNER JOIN menu_level1 
    ON menu_level2.relation = menu_level1.url;

扩展:关联三级菜单的完整查询

如果需要同时关联三级菜单并获取带重音的菜单名,你可以使用如下写法:

SELECT 
    menu_level1.url AS url1,
    menu_level1.menuname AS name1,
    menu_level2.url AS url2,
    menu_level2.menuname AS name2,
    menu_level3.url AS url3,
    menu_level3.menuname AS name3
FROM menu_level1
INNER JOIN menu_level2
    ON menu_level2.relation = menu_level1.url
INNER JOIN menu_level3
    ON menu_level3.relation = menu_level2.url;

这个查询会返回完整的三级菜单层级关联结果,同时保留你存储的匈牙利语带重音菜单名。

内容的提问来源于stack exchange,提问作者John Doe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:20:06