我建立一个调查事情悬而未决随意的事情,有三个表:users
,questions
,answers
,其中answers
包含了每一个问题,用户已经回答了创纪录的(没有记录,如果他们没有回答一个给定的问题呢)。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)
)
我试着LEFT JOIN
一些基本的东西,这样无济于事。我已经使用ORDER BY RAND() LIMIT 0,1
作为问题的随机部分。我怀疑这并不像我想象的那么简单。 (我在教自己的SQL ..我需要使用那些我还不知道的子查询之一吗?)
如何编写MySQL以选择一个没有来自指定用户的相应答案?
此外,请原谅问题标题中的“事物”的通用使用,因为我们不能发布包含单词“问题”的标题的问题。 C'est la vie :) – Erics