임의 답이없는 일을 선택하고 세 개의 테이블이하기 : users
는, questions
는, answers
는 사용자가 응답 한 각 질문에 대한 기록 (없이 레코드가 포함 answers
, 그들은 대답하지 않은 경우를 아직 주어진 질문). 아무 소용이 내가 LEFT JOIN
와 함께 몇 가지 기초적인 일을 시도했습니다SQL 내가 조사 일을 짓고 있어요
CREATE TABLE users (
id INT NOT NULL,
name VARCHAR(255),
PRIMARY KEY (id)
)
CREATE TABLE questions (
id INT NOT NULL,
text VARCHAR(255),
PRIMARY KEY (id)
)
CREATE TABLE answers (
id INT NOT NULL,
id_q INT NOT NULL,
id_u INT NOT NULL,
answer VARCHAR(255),
PRIMARY KEY (id),
FOREIGN KEY (id_q) REFERENCES questions(id),
FOREIGN KEY (id_u) REFERENCES users(id)
)
등 :
내 데이터 구조는 다음과 같은 것입니다. 문제의 임의성 부분에 ORDER BY RAND() LIMIT 0,1
을 사용했습니다. 나는 이것이 내가 생각했던 것만 큼 단순하지 않다고 생각하고있다. (나는 자신에게 SQL을 가르치고있다. 내가 아직 모르는 subquery 것들 중 하나를 사용해야 할까?)
MySQL을 작성하지 않고 무작위 질문을 선택하려면 어떻게해야합니까? 지정된 사용자의 해당 답변? 당신은 LEFT JOIN
으로 궤도에 있었다
또한 "question"이라는 단어가 포함 된 제목으로 질문을 게시 할 수 없기 때문에 질문 제목에 "thing"을 사용하는 것을 용서하십시오. C'est la vie :) – Erics