-1

データベース上のすべての TESTID に対して * を取得する単一の mysql クエリを作成する方法を知りたいです。したがって、以下のような複数の db 呼び出しを生成する一意の TESTID ごとに for ループを実行する代わりに、1 つのクエリを実行するだけで済みます。

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'

ご意見ありがとうございます。

4

4 に答える 4

4

列のデータ型が数値 ( number )の場合は一重引用符を削除できます。それ以外の場合はラップします。

SELECT *
FROM   test_results 
WHERE  testerID = 3 AND
       testID IN (5,9,10,12,15,4)
于 2012-11-29T03:08:18.630 に答える
3

私はあなたがこれを探していると思いますか?

SELECT *
FROM test_results
WHERE
    TESTERID = '3'
    AND TESTID IN ('5', '9', '10', '12', '15', '4')

数値型のフィールドを使用している場合は、代わりにこれを使用する必要があります。

SELECT *
FROM test_results
WHERE
    TESTERID = 3
    AND TESTID IN (5, 9, 10, 12, 15, 4)
于 2012-11-29T03:08:10.097 に答える
0

testerid='3' からすべてのレコードを取得する場合

select * from test_results where TESTERID='3'
于 2012-11-29T03:20:41.413 に答える
-1

ありがとう、私は次の実用的な解決策を思いつきました:

SELECT * FROM test_results WHERE testerID = 3 AND testID IN (select TESTID from test_results)
于 2012-11-29T03:15:16.943 に答える