首页 新闻 会员 周边 捐助

求一个查询SQL

0
[已解决问题] 解决于 2020-08-14 16:00

如上图,列ID为自动序号,列A为分组标示,列B数字表示不同含义,列D是存储的具体数据

搜索条件如下:
条件一:B=1 AND D LIKE '%张%'
条件二:B=2 AND D = '男'
条件三:。。。。。

以上条件需要同时满足,即结果中只能是A=1

SQL
问题补充:

最终的查询结果只需要列A的值就可以了,如上面这个图,只需要得到1就可以。这个1是列A的值

duxer的主页 duxer | 初学一级 | 园豆:8
提问于:2020-08-14 11:55

我的建议是:你再画个表格,告诉读者你最终希望呈现的数据,是怎样的。

默卿 4年前

@默卿: 谢谢你的建议

duxer 4年前
< >
分享
最佳答案
0

是想要这种效果吗?

奖励园豆:5
顾星河 | 大侠五级 |园豆:7281 | 2020-08-14 14:52

列A的值不是固定,前提条件只有B和D

duxer | 园豆:8 (初学一级) | 2020-08-14 15:06

这样打比方吧,列A表示一个人,列B表示这个了不同属性(1姓名,2性别,3出生年月),列D是属性值,现在需要查找姓张的男性

duxer | 园豆:8 (初学一级) | 2020-08-14 15:09

@duxer:

顾星河 | 园豆:7281 (大侠五级) | 2020-08-14 15:27

@默卿: 谢谢,查询条件不固定,暂时使用嵌套查询,类似下面这种

SELECT Test.A FROM Test WHERE ((Test.B = 1) AND (Test.D LIKE '%张%')) AND (Test.A IN (SELECT Test.A FROM Test WHERE ((Test.B = 2) AND (Test.D LIKE '%男%')) Group By Test.A)) Group By Test.A

duxer | 园豆:8 (初学一级) | 2020-08-14 15:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册