我想了解如何构建一个mysql查询,为db上的所有TESTID检索*。因此,不是为每个唯一的TESTID运行for循环,而是生成多个db调用,如下所示,我只需运行一个查询。
select * from test_results where TESTERID='3' and TESTID='5'
select * from test_results where TESTERID='3' and TESTID='9'
select * from test_results where TESTERID='3' and TESTID='10'
select * from test_results where TESTERID='3' and TESTID='12'
select * from test_results where TESTERID='3' and TESTID='15'
select * from test_results where TESTERID='3' and TESTID='4'
感谢您的任何意见。
答案 0 :(得分:4)
如果列的数据类型是数字(数字),则可以删除单引号,否则请将其包装。
SELECT *
FROM test_results
WHERE testerID = 3 AND
testID IN (5,9,10,12,15,4)
答案 1 :(得分:3)
我会假设你在寻找这个?
SELECT *
FROM test_results
WHERE
TESTERID = '3'
AND TESTID IN ('5', '9', '10', '12', '15', '4')
如果您使用数字类型的字段,您应该使用它而不是btw:
SELECT *
FROM test_results
WHERE
TESTERID = 3
AND TESTID IN (5, 9, 10, 12, 15, 4)
答案 2 :(得分:0)
如果您想从testerid ='3'
获取所有记录select * from test_results where TESTERID='3'
答案 3 :(得分:-1)
谢谢,我提出了以下工作解决方案:
SELECT * FROM test_results WHERE testerID = 3 AND testID IN (select TESTID from test_results)