2016-06-21 7 views
6

SQL Podkwerenda dwa dobiera innej tabeli daje losowy wybórSQL Podkwerenda dwa dobiera innej tabeli daje losowy wybór

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

Proszę pomóż nam z tym błędem, aby zobaczyć obraz przepływa pytanie –

+4

Jakie jest dokładnie Twoje pytanie? –

Odpowiedz

3

Przy użyciu IN(), ta sama ilość (i typ) elementy powinny pojawić się po obu stronach!

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

Dla mnie wydaje się, że chcesz uzyskać losowe pytanie z pasującymi odpowiedziami?

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() 

Czy tego chcesz?

+0

z tym pytaniem nauczyłem się czegoś nowego .. ORDER BY NEWID() Może zwrócić losowe rekordy ..: D – Spider

+0

Dzięki bracie jesteś –

+0

to jest to, czego potrzebuję –

Powiązane problemy