Объединить 2 таблицы в MySQL, вернуть строки, которые не связаны - PullRequest
2 голосов
/ 08 июля 2010

У меня есть 2 таблицы:

таблица 1: вопросы (идентификатор, вопрос, дата)

таблица 2: ответы (идентификатор, вопрос_ид, ответ, дата)

вопрос может иметь более одного ответа, некоторые вопросы не имеют ответов.Я хочу выводить только неотвеченные вопросы

запрос типа SELECT * FROM вопросы , ответы WHERE questions.id!=answers.question_id group by questions.id не работает

Может ли кто-нибудь помочь новичку, как я, я так потерянво всем этом MySQL вещи.

Ответы [ 3 ]

2 голосов
/ 08 июля 2010
SELECT Q.id, Q.question, Q.date
FROM questions Q LEFT JOIN answers A ON (Q.id = A.question_id)
WHERE A.id IS NULL
1 голос
/ 08 июля 2010
SELECT id, question, date
FROM questions q 
WHERE NOT EXISTS
    (SELECT * FROM answers a 
     WHERE a.question_id = q.id)

OR

SELECT id, question, date
FROM questions q 
LEFT JOIN answers a ON a.question_id = q.id
WHERE a.id IS NULL

OR

SELECT id, question, date
FROM questions q 
WHERE q.id NOT IN 
    (SELECT question_id FROM answers WHERE question_id IS NOT NULL)
                                 /* If question_id can't be NULL this is not needed*/
0 голосов
/ 08 июля 2010

ВЫБРАТЬ * ИЗ Вопросы и Ответы WHERE answers.answer = null или answers.answer = "";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...