2016-06-21 4 views
6

SQL Subquery con due seleziona da tavolo diverso dà selezione casualesubquery SQL con due seleziona da tavolo diverso sta dando selezione casuale

select top(1) Questions.Ques_ID, Question 
from Questions 
where Questions.Ques_ID in(
        select top(4) Answers.Que_ID,Answer 
        from Answers 
        where Questions.Ques_ID = Answers.Que_ID 
        order by newid()) 

enter image description here

+0

Si prega di aiuto da questo errore per vedere l'immagine scorre la domanda –

+4

Qual è esattamente la tua domanda? –

risposta

3

Quando si utilizza IN(), stessa quantità (e tipo) di gli elementi dovrebbero apparire su entrambi i lati!

select top(1) Questions.Ques_ID, Question 
from Questions 
where Questions.Ques_ID in(
          select top(4) Answers.Que_ID 
           from Answers 
           where Questions.Ques_ID = Answers.Que_ID 
           order by newid()) 
0

Per me, sembra che tu voglia ottenere una domanda a caso con le risposte corrispondenti?

SELECT TOP 1 ques.Ques_ID, 
      ques.Question, 
      ans.Answer 
    FROM Questions ques 
    INNER JOIN Answers ans ON ans.ExamCode = ques.ExamCode AND ans.Que_Id = ques.Ques_ID 
    ORDER BY NEWID() 

È questo ciò che desideri?

+0

con questa domanda ho imparato qualcosa di nuovo .. ORDINA DA NEWID() Può restituire record casuali ..: D – Spider

+0

Grazie fratello –

+0

questo è quello che mi serve –

Problemi correlati