V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pisir
V2EX  ›  程序员

大佬们,请教一个动态 sql 问题

  •  
  •   pisir · 2020-12-22 21:39:58 +08:00 · 1305 次点击
    这是一个创建于 1409 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求

    前端传递的字段不确定,后端要根据 sql 返回这些字段,会涉及多个表关联,也就是说都不确定会关联哪几张表,怎么实现比较好

    举例

    后端提供一个接口返回给前端 20 个字段,这 20 个字段可能涉及 n 张表,前端传递其中的 username 、order_amount,后端要写 sql 返回这两个字段,那么就会涉及到 user 表和 order 表关联,但是如果传递 username 、post_content,有涉及到 user 和 post 表关联

    有没有好的实现方式呢,请指教,感谢!

    pisir
        1
    pisir  
    OP
       2020-12-22 21:41:32 +08:00
    也就是前端传递字段,然后后端在根据字段返回值,但是这些字段以及需要关联的表都是不确定的。
    msg7086
        2
    msg7086  
       2020-12-23 00:02:39 +08:00
    没什么好办法,按部就班计算出要用到的字段和要用到的表,然后拼 SQL 。
    wangritian
        3
    wangritian  
       2020-12-23 09:45:43 +08:00
    我一般不会让前端直接指定需要哪些字段,要么全给( QPS 要求不高时),要么定义几个场景,只让前端传一个场景参数,再根据场景拼接 sql 语句
    micean
        4
    micean  
       2020-12-23 10:13:22 +08:00
    提交{ "user":["username"], "order":["order_amount"],"post":["post_content"]}这样的参数自己拼 sql 吧
    如果所有接口都要这样玩,要么前端自己拼数据,要么后端换成 graphql 之类的架构
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5328 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 01:21 · PVG 09:21 · LAX 18:21 · JFK 21:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.