sql查询字段中所有等于某些值的数据 100
表中有channel_id有多个值,每个值对应的app_id也有多个,现在需要的功能是:前台提交了多个app_id的值,要求能查询同时具有着些app_id的值的chann...
表中有channel_id有多个值,每个值对应的app_id也有多个,现在需要的功能是:前台提交了多个app_id的值,要求能查询同时具有着些app_id的值的channel_id,该怎么写
展开
2个回答
展开全部
不知道这样可以不,看你的数据库应该是mysql
创建表插入数据
create table test
(channel_id int,
app_id varchar(10));
insert into test values (1,'a001');
insert into test values (2,'a001');
insert into test values (2,'a002');
insert into test values (3,'a002');
insert into test values (4,'a002');
insert into test values (3,'a003');
insert into test values (4,'a003');
insert into test values (5,'a003');
insert into test values (6,'a003');
insert into test values (7,'a004');
执行:
SELECT
app_id,
group_concat(channel_id)
FROM
test
WHERE
channel_id IN (1, 2, 3, 4, 5, 6, 7)
GROUP BY
app_id
结果:
看结果的话,就能看出每个app_id对应了哪些channel_id了,然后想筛选多个的话,直接嵌套一层,然后like '%,%'就可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询