多表联查搜索如何实现?

发布于 2022-09-07 21:37:38 字数 292 浏览 12 评论 0

表结构如下图:

图片描述

        现在需要根据用户的输入内容,来从不同的表中查询内容,如何才可以快速有效的查出我想要的结果?

        我的想法是将三个表关联起来,通过case...when来根据flag的值来判断该从哪个表中拿数据,最终组成一个临时表,然后再从临时表中,根据用户输入的内容来筛选数据。

        请问是否还有其他更有效的思路可供参考?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傲娇萝莉攻 2022-09-14 21:37:38

表1和表A和表B各关联一次,结果做union,代码大概如下:

select ta.*
from t1 join ta on t1.id_a = ta.id
where t1.flag = 'a'
union all
select tb.*
from t1 join tb on t1.id_b = tb.id
where t1.flag = 'b'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文