mysql - 我通过嵌套使用查询并希望加入操作
问题描述
由于数据超过 2000,此代码需要更多时间或崩溃。请建议我新的查询。
此查询用于多级。我的数据库每天都在增加。如果我有 2M 数据....thannnn...
帮我。
SELECT DISTINCT emp_id
FROM emp
WHERE (referral IN (SELECT emp_id FROM emp
WHERE referral IN (SELECT emp_id FROM emp
WHERE referral IN (SELECT emp_id FROM emp
WHERE referral ='2')
)
)
OR referral IN (SELECT emp_id FROM emp
WHERE referral IN (SELECT emp_id FROM emp
WHERE referral = '2')
)
OR referral IN (SELECT emp_id FROM emp WHERE referral ='2'))
我正在使用 php 和 mysqli。
解决方案
我的意思是下一个查询可以解决问题:
SELECT DISTINCT emp_id
FROM emp
LEFT JOIN emp as ref1 ON emp.referral = ref1.emp_id
LEFT JOIN emp as ref2 ON ref1.referral = ref2.emp_id
LEFT JOIN emp as ref3 ON ref2.referral = ref3.emp_id
WHERE
ref1.referral ='2' OR
ref2.referral ='2' OR
ref3.referral ='2';
推荐阅读
- r - 从函数 R 中的列表列表中删除 NA
- title - python-pptx:无法提取包含方程式的幻灯片标题
- python - 使用 python 创建 MySQL 数据库时遇到问题
- javascript - 错误:未捕获的语法错误:输入意外结束
- javascript - 如何防止用户在有角度的材料中滑回垫滑块
- windows - 在 WIX 安装程序 UI 中测试 MariaDB 凭据
- c++ - 使用 CPLEX 的多目标二进制整数问题的动态权重更新
- matlab - 使用 Matlab 从一张图中的许多 polyfitted 曲线中获取最大值
- amazon-web-services - 如何使用 CodeBuild 将生成的文件夹内容上传到 S3?
- python-3.x - 如何将尾随零添加到熊猫数据框列?