Следующее должно работать, но чтобы быть уверенным, мне нужно, чтобы вы отредактировали свой вопрос и добавили схему (оператор create table ) для каждой таблицы, а также некоторые примеры данных, которые должны создать результат.
SELECT
q1.id,
q1.q_title,
a1.q_id,
u.id
FROM users u
LEFT JOIN answers a
ON a.u_id = u.id
JOIN questions q
ON a.q_id = q.id
LEFT JOIN answers a1
ON a1.u_id <> u.id
JOIN questions q1
ON a1.q_id = q1.id
WHERE a.id IS NULL
AND (NOT a1.id IS NULL)
AND u.id = 8
GROUP BY q1.id,
q1.q_title,
a1.q_id,
u.id
UPDATE:
Я немного поработал над вашим SQL Fiddle и нашел решение. Я добавил другой ответ на вопрос, на который пользователь 8 не ответил.
SQL Fiddle
Настройка схемы MySQL 5.6 :
CREATE TABLE `answers` (
`id` int(11) NOT NULL,
`q_id` int(11) NOT NULL,
`u_id` int(11) NOT NULL,
`the_answer` text CHARACTER SET utf8 NOT NULL,
`isAnswered` text CHARACTER SET utf8 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `answers`
--
INSERT INTO `answers` (`id`, `q_id`, `u_id`, `the_answer`, `isAnswered`) VALUES
(1, 1, 2, 'first_choice', 'true'),
(4, 1, 0, 'second_choice', 'true'),
(2, 7, 8, 'third_choice', 'true'),
(3, 9, 8, 'third_choice', 'true');
CREATE TABLE `questions` (
`id` int(11) NOT NULL,
`q_title` text NOT NULL,
`first_choice` text NOT NULL,
`second_choice` text NOT NULL,
`third_choice` text NOT NULL,
`right_answer` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Dumping data for table `questions`
--
INSERT INTO `questions` (`id`, `q_title`, `first_choice`, `second_choice`, `third_choice`, `right_answer`) VALUES
(9, 'ما هي عاصمة فلسطين؟', 'القدس', 'بغداد', 'مكة', 'القدس'),
(10, 'ما هي عاصمة انجلترا؟', 'واشنطن', 'كييف', 'لندن', 'لندن'),
(1, 'ما هي سنة استغلال السودان؟', '1965', '1956', '1989', '1956'),
(7, 'ما هي عاصمة اليونان؟', 'اثينا', 'كييف', 'واشنطن', 'اثينا'),
(8, 'ما هي عاصمة السعودية؟', 'الرياض', 'عمان', 'القاهرة', 'الرياض');
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`email` varchar(200) NOT NULL,
`password` mediumtext NOT NULL,
`name` mediumtext NOT NULL,
`phone` varchar(15) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `users` (`id`, `email`, `password`, `name`, `phone`) VALUES
(3, 'ahmed.aau5@gmail.com', '$2y$10$AC8q.PFdZNWN23OqwKbryOoy/zkutJEtSSS0VXR8qUXaQuWflAle6', 'Ahmed Mohamed', '249117446667'),
(2, 'ahmed.aau4@gmail.com', '$2y$10$kM2RD8nDNdsegk5km5bAyOqatWj9F45YdaElxXUq9uiywa.zgwgO6', 'Ahmed Mohamed', '249901222620'),
(4, 'ahmed.juvg@vhjv.com', '$2y$10$oqnnymFr/BTTMUkYWAc9LuQ4RhsrBMohPOPlTFs5FiLJecJan2Cl.', 'Ahmed', '249117446667'),
(8, 'ahmed@gmail.com', '$2y$10$epia0tc3V4m1wlU4sqva7eV4fGq4ekzh2ZDb.tRP6VSA4WPxytyiG', 'Ahmed', '249901222620');
Запрос 1 :
SELECT
q1.id,
q1.q_title,
a1.id as `ans_id`,
a1.the_answer,
u1.id
FROM questions q1
LEFT JOIN
(SELECT
q.id as questionid
FROM users u
LEFT JOIN answers a
ON a.u_id = u.id AND a.isAnswered = 'true'
LEFT JOIN questions q
ON a.q_id = q.id
WHERE u.id = 8
GROUP BY q.id) x1
ON x1.questionid = q1.id
JOIN answers a1
ON q1.id = a1.q_id
LEFT JOIN users u1
ON u1.id = 8
WHERE x1.questionid IS NULL
GROUP BY
q1.id,
q1.q_title,
a1.id,
a1.the_answer,
u1.id
Результаты
Вопросы, на которые пользователь 8 не ответил.
| id | q_title | ans_id | the_answer | id |
|----|-------------------------------|--------|---------------|----|
| 1 | ما هي سنة استغلال السودان؟ | 1 | first_choice | 8 |
| 1 | ما هي سنة استغلال السودان؟ | 4 | second_choice | 8 |