Хорошо У меня есть таблица Project_Assigned, которая содержит список учетных записей, назначенных project_id.NOT EXISTS: Выберите учетные записи, не предназначенные для конкретного проекта?
Ниже я пытаюсь собрать список всех клиентов, которые в настоящее время не привязаны к конкретному проекту.
В настоящий момент нижеследующий запрос работает, если нет клиентов, связанных с конкретным проектом, но как только я назначу одному клиенту проекту, результирующий набор ничего не возвращает, вместо этого он должен вернуть все остальные клиенты, не назначенные этот проект.
SELECT Account.Account_ID,
Client.First_Name AS `First_Name`, Client.Last_Name AS `Last_Name`, Client.Profile_Pic, Client.Job_Title, Client.Company_Name
FROM Client
LEFT JOIN Account ON (Account.Account_ID = Client.Client_ID)
LEFT JOIN `Admin_Agency` ON (Client.Agency_ID_FK = Admin_Agency.Agency_ID)
WHERE Account.Access_Type = 'Client' && NOT EXISTS
(SELECT Account.Account_ID, Account.Access_Type
FROM `Project_Assigned` projects
INNER JOIN `Account` ON (projects.AccountID = Account.Account_ID)
INNER JOIN `Project` ON (projects.ProjectID = Project.Project_ID)
LEFT JOIN `Client` ON (Account.Account_ID = Client.Client_ID)
WHERE projects.ProjectID = 48 && Account.Access_Type = 'Client');
Таблица Project_Assigned:
+-----------+-----------+
| ProjectID | AccountID |
+-----------+-----------+
| 4 | 3 |
| 4 | 4 |
| 4 | 5 |
| 4 | 6 |
| 12 | 1 |
| 12 | 11 |
| 12 | 12 |
| 29 | 18 |
| 31 | 18 |
| 46 | 18 |
| 48 | 18 |
| 48 | 12 |
+-----------+-----------+
Привет, я сделал phew tweaks, отредактировал выше и теперь его работу. Спасибо, это действительно помогло. – Malcr001
@ user971824: Добро пожаловать! – ruakh
@ user971824: Ваше редактирование на самом деле не имеет для меня смысла. Например, какова цель 'LEFT JOIN Admin_Agency'? Ничто другое в запросе фактически не ссылается на таблицу «Admin_Agency». – ruakh