永洪社区

标题: SQL数据集能否动态拼接SQL [打印本页]

作者: yhdata_9g36a3ZS    时间: 2023-4-21 10:46
标题: SQL数据集能否动态拼接SQL
请问有什么方法可以实现动态拼接SQL?  有部分语句段是写在数据库表里面的,需要选读取出来然后拼接到 主语句里面
作者: yhdata_yzm    时间: 2023-4-21 13:21
后边继续写查询呢
作者: yhdata_9g36a3ZS    时间: 2023-4-21 13:50
yhdata_yzm 发表于 2023-4-21 13:21
后边继续写查询呢

我的意思是 一些条件放在表里的字符串, 比如说  “姓名 in (张三,李四)”, 然后在数据集里面 拼成 完整的sql语句,  select * from table where 1=1 and 姓名 in (张三,李四),    实现一个动态的效果
作者: yhdata_lyaa    时间: 2023-4-21 14:25
参考参数参与SQL过滤

https://yonghongtechonline.udesk.cn/question/226409
作者: yhdata_9g36a3ZS    时间: 2023-4-22 10:54
yhdata_lyaa 发表于 2023-4-21 14:25
参考参数参与SQL过滤

https://yonghongtechonline.udesk.cn/question/226409

你好,这个 参数参与SQL过滤我是知道的,但是不满足我的需求, 我需要的是 设置 一个sql段, 从数据库读出相应的 sql片段 拼接到主查询里面, 并且不希望人为下拉选择
作者: yhdata_yzm    时间: 2023-4-23 13:48
SELECT *
FROM orders
WHERE user_id = (
    SELECT id
    FROM users
    WHERE username = 'john_doe'
)
AND created_at >= '2023-04-01';
类似于这样的吗?
作者: yhdata_9g36a3ZS    时间: 2023-4-23 23:42
yhdata_yzm 发表于 2023-4-23 13:48
SELECT *
FROM orders
WHERE user_id = (

是的,例如你给出的示例,
有可能   AND created_at >= '2023-04-01'  这一段sql是存在表里面的, 需要先读出来然后再sql数据集里拼接,这种情况需要如何实现?
作者: yhdata_yzm    时间: 2023-4-24 09:34
yhdata_9g36a3ZS 发表于 2023-4-23 23:42
是的,例如你给出的示例,
有可能   AND created_at >= '2023-04-01'  这一段sql是存在表里面的, 需要 ...

WHERE user_id = 这个条件不就是这么实现的吗,后边跟的查询
作者: yhdata_9g36a3ZS    时间: 2023-4-24 14:11
yhdata_yzm 发表于 2023-4-24 09:34
WHERE user_id = 这个条件不就是这么实现的吗,后边跟的查询

请看我在截图的描述,我的意思是sql数据集的的 有一部分sql片段在数据库,因为这一部分的sql片段不是固定的,需要动态读取出来然后设置到 sql的语句定义

作者: yhdata_yzm    时间: 2023-4-24 14:51
yhdata_9g36a3ZS 发表于 2023-4-24 14:11
请看我在截图的描述,我的意思是sql数据集的的 有一部分sql片段在数据库,因为这一部分的sql片段不是固定 ...

SELECT id
    FROM users
    WHERE username = 'john_doe'
例如这一块你通过参数去实现呢,有一个标识列什么样的条件选择什么参数突然想起了一件事,这个参数来是个表不是字符串,以上方法不可行





欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4