create table test_table{
id int(11) comment '主键id',
biz_id varchar(64) comment '业务id',
config_type varchar(64) comment '配置类型',
config_key varchar(64) comment '配置键',
config_value varchar(64) comment '配置值'
};
数据库简化字段后是这样的,业务id对下有多条配置数据,配置type和key能确认一个配置项的值
现在要查询 同时满足多项配置的业务id 有哪些
公司的框架禁止了级联查询,这个怎么处理呢?
【以下回答由 GPT 生成】
根据问题描述,你想查询满足多个配置项的业务id,但由于公司框架禁止了级联查询,你希望知道如何处理这个问题。
首先,我们可以使用多个子查询来解决这个问题。每个子查询都查询满足一个特定配置项的业务id,然后使用INTERSECT
操作符将子查询的结果取交集。
下面是一个示例的SQL查询语句,查询配置类型为'A'且配置键为'key1'的业务id:
SELECT biz_id FROM test_table WHERE config_type = 'A' AND config_key = 'key1'
根据你的需求,我们可能需要多个这样的子查询,并将它们的结果取交集。你可以根据具体的配置项来重复这个子查询,直到涵盖所有的配置项。
下面是一个示例代码,查询满足配置类型为'A'且配置键为'key1'的业务id,并且满足配置类型为'B'且配置键为'key2'的业务id:
SELECT biz_id FROM test_table WHERE config_type = 'A' AND config_key = 'key1'
INTERSECT
SELECT biz_id FROM test_table WHERE config_type = 'B' AND config_key = 'key2'
请按照相同的方式添加更多的子查询,以满足其他的配置项。
注意:查询结果将会是满足所有配置项的业务id的交集。如果你需要满足其中任意一个配置项的业务id的并集,可以将INTERSECT
操作符替换成UNION
操作符。
希望这个解决方案对你有所帮助。如果你对问题有更深入的理解,或者有其他的问题,请随时提问。
【相关推荐】