用sql语句怎样写查询的交集?

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:04:14
数据库中有很多组数据,但是取值范围都是在1-100,现在随机查询10组数字,每组5个数,假如我要在随机产生的每组数字中,控制它每次查询的每组结果里都必须包含有4,28,50,这样的sql语句要怎样写?下面是我写的,能查询出结果,但是结果不是我想要的那样
sql = " select * from aa where (red1 in (" 4,28,50")) or (red2 in (" 4,28,50 ")) or (red3 in (" 4,28,50 ")) or (red4 in (" 4,28,50 ")) or (red5 in (" 4,28,50 "));
谢谢!
"4,28,50"是变量,我每次都是不同的选择,不一定就是这三个数,还有我是想要在随机抽取的red1到red5这组数字,这组数字是由5个具体数字构成,"4,28,50"这个条件是相对与这组数字来说必须要包含它们,那么其他还有两个数字就可以随便是其他的数字了,不一定要是满足这个条件的,这个条件是相对于整个数组中的5个具体数来说的,请问要怎样解决?请详细点.谢谢了!!!不胜感激!!!

SELECT * FROM aa WHERE ((red1 In (4,28,50))) OR ((red2 In (4,28,50))) OR ((red3 In (4,28,50))) OR ((red4 In (4,28,50))) OR ((red5 In (4,28,50)))

随机需要其他编程手段

in (" 4,28,50") 是不对的,"4,28,50"有问题

一楼对 不过你们都加这么多括号干什么
SELECT * FROM aa WHERE red1 In (4,28,50) OR red2 In (4,28,50) OR red3 In (4,28,50) OR red4 In (4,28,50) OR red5 In (4,28,50)