У меня есть две таблицы Таблица A и Таблица B.
Таблица A имеет идентификатор пользователя и идентификатор_курса , а таблица B имеет идентификатор пользователя & courseid .
Мне нужна одна таблица без всех записей, которые есть в таблице B. Она не должна содержать записей, которые находятся в таблице B.
Например.
Если таблица A имеет:
userid: 224 courseid: 6
userid: 224 courseid: 7
userid: 224 courseid: 8
Если таблица B имеет:
userid: 224 courseid: 6
userid: 224 courseid: 7
Тогда в новой таблице должно быть:
userid: 224 courseid: 8
Мой код для таблицы A:
SELECT ue.userid AS userid,
Concat(u.firstname, ' ', u.lastname) AS user,
en.courseid AS course_Id,
co.fullname AS Course_Name,
cu.companyid AS companyId,
company.name
FROM `mdl_user_enrolments` AS ue
LEFT JOIN `mdl_enrol` AS en
ON ue.enrolid = en.id
LEFT JOIN `mdl_course` AS co
ON en.courseid = co.id
LEFT JOIN `mdl_user` AS u
ON ue.userid = u.id
LEFT JOIN `mdl_company_users` AS cu
ON cu.userid = ue.userid
LEFT JOIN `mdl_company` AS company
ON company.id = cu.companyid
WHERE co.id IN ( 1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12 )
AND company.id = 1
Таблица B:
SELECT u.id,
p.course
FROM mdl_course_completions AS p
JOIN mdl_course AS c
ON p.course = c.id
JOIN mdl_user AS u
ON p.userid = u.id
WHERE c.enablecompletion = 1
AND p.course IN ( 1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12 )
ВЫХОД:
ТАБЛИЦА ВЫХОДА
ВЫХОД ТАБЛИЦЫ B
Мне не нужна строка из таблицы B, которая имеет в таблице A сравнение с userid и courseid .
Я попробовал этот запрос, чтобы получить желаемый результат.Но он исключил всех пользователей (ИД пользователей) из таблицы А, что обычно в таблице В.
ВЫБЕРИТЕ ue.userid в качестве ИД пользователя, CONCAT (u.firstname, '', u.lastname) в качестве пользователя,en.courseid в качестве course_Id, co.fullname в качестве Course_Name, cu.companyid в качестве companyId, company.name FROM mdl_user_enrolments
в качестве ue, оставленного присоединения mdl_enrol
в качестве en ON ue.enrolid = en.id оставленного присоединения mdl_course
в качестве co ONen.courseid = co.id оставил объединение mdl_user
при включенном u ue.userid = u.id оставил объединение mdl_company_users
как cu ON cu.userid = ue.userid оставил объединение mdl_company
как company ON company.id = cu.companyid где co.id IN (1,2,3,4,5,6,7,8,9,10,11,12) И company.id = 1 И ue.userid NOT IN (ВЫБЕРИТЕ u.id ОТmdl_course_completions КАК ПРИСОЕДИНЯЕТСЯ mdl_course КАК ВКЛЮЧЕНО p.course = c.id ПРИСОЕДИНИТЕСЬ КАК ВКЛЮЧЕНО p.userid = u.id ГДЕ c.enablecompletion = 1 И p.course IN (1,2,3,4,5,6), 7,8,9,10,11,12))
Спасибо.