0

クイズには「質問」と「回答」の2つのテーブルがあります。すべての質問には4つの答えがあります。50個のランダムな質問をリクエストしたいです。これを試してみましたが、50未満の質問が返されました。

(50の質問すべてと200の回答のすべてのフィールドが必要です)。

SELECT Q.*, A.* FROM questions Q
LEFT JOIN answers A ON Q.pid = A.pid
WHERE Q.pid >= RAND() * (SELECT MAX(pid) FROM questions)
AND  Q.lid IN $array
GROUP BY Q.pid
LIMIT 50
4

1 に答える 1

1

次のことを試してください。

 SELECT y.* 
   FROM 
      ( SELECT * 
          FROM questions 
         ORDER 
            BY RAND() LIMIT 2
      ) x 
   JOIN answers y 
     ON y.question_id = x.question_id 
  ORDER  
     BY x.question_id;
于 2013-03-20T14:58:20.897 に答える