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

基于MySQL实现按传入carid关联查询docs表目标数据

MySQL查询需求解决方案

现有数据表

docs表

idcaridname
11doc1
21doc2
32doc3
41doc4
55doc5

cars表

caridparentidname
14car1
25car2
34car3
44car4
55car5

查询需求

编写MySQL查询语句,传入指定carid到WHERE子句,获取docs表中所有关联cars表parentid与传入carid对应的parentid一致的行。

期望结果:

  • 传入carid=3时,返回docs表中id为1、2、4的行(因carid=3的parentid为4,cars表中carid1、3、4的parentid均为4);
  • 传入carid=2时,返回docs表中id为3、5的行(因carid=2的parentid为5,cars表中carid2、5的parentid均为5)。

实现语句

这里提供两种可行的SQL写法:

子查询方式

SELECT d.*
FROM docs d
JOIN cars c ON d.carid = c.carid
WHERE c.parentid = (SELECT parentid FROM cars WHERE carid = 3);

将语句中的3替换为你需要传入的目标carid即可。

JOIN关联方式

SELECT d.*
FROM docs d
JOIN cars c1 ON d.carid = c1.carid
JOIN cars c2 ON c1.parentid = c2.parentid
WHERE c2.carid = 2;

同样,把2替换成目标carid就能得到对应结果。

这两种写法都能满足需求,原理都是先定位目标carid对应的parentid,再筛选出所有拥有该parentid的carid,最后匹配docs表中的关联数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 19:10:30