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

编写SQL查询rules表中关联item和dc已停用的规则ID

数据表与需求说明

现有3张数据表字段信息

  • dc_activation表字段:id、item、dc、start_date、end_date、valid
  • settings表字段:id、create_date、update_date、setting_type、sequence、name、value
  • rules表字段:id、item、dc、name、start_date、valid

查询需求

查询rules表中,对应item和dc已停用的规则id。
停用判定规则:dc_activation表的end_date小于settings表中name为v_date的记录对应的value值时,判定该item和dc组合已停用。

符合要求的SQL语句
SELECT r.id AS disabled_rule_id
FROM rules r
-- 关联dc_activation表匹配item和dc组合
JOIN dc_activation da 
  ON r.item = da.item 
  AND r.dc = da.dc
-- 取出系统配置的参考日期v_date
CROSS JOIN (
    SELECT CAST(value AS DATE) AS v_date
    FROM settings 
    WHERE name = 'v_date'
    LIMIT 1
) conf
WHERE da.end_date < conf.v_date;

注:如果settings表中v_date存储的value已经是日期类型,可去掉CAST(value AS DATE)转换逻辑,不同数据库的日期转换函数可根据实际场景调整,比如MySQL用STR_TO_DATE、PostgreSQL用TO_DATE。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:51:03