早上好,我正在尝试在MySQL中执行以下查询: 显示未参与任何" Juan Perez"的顾问的姓名和姓氏。项目。 我使用以下查询:
df = pd.DataFrame({'STATUS': [['REQUESTED', 'RECEIVED'], ['XYZ'], ['RECEIVED']]},
index=[1, 2, 3])
df.STATUS.apply(lambda x : 'RECEIVED' in x)
Out[11]:
1 True
2 False
3 True
Name: STATUS, dtype: bool
但是当我执行查询时,它只隐藏那些与表中直接相关的查询。 我如何隐藏顾问出现的其他记录,以便它们不出现?
感谢。
答案 0 :(得分:0)
我认为如果在加入客户端的条件下,你可以在那里排除客户名称它会返回你想要的东西。
SELECT consultant.name, consultant.surname
FROM consultor
INNER JOIN participate ON participate.id_consultant = consultant.id
INNER JOIN project ON project.id = participate.id_project
INNER JOIN client ON client.id = project.id_client and client.name NOT IN ("Juan Perez");
答案 1 :(得分:0)
我设法通过以下方式解决它。感谢大家的帮助。
SELECT consultant.name, consultant.surname FROM consultant
LEFT JOIN (
SELECT id_project, participate.id_consultant FROM participate
INNER JOIN project
USING(id_project)
INNER JOIN client ON client.id = project.id_cliente
WHERE client.name like 'Juan Perez'
)
project ON project.id_consultant = consultant.id
WHERE project.id_project IS NULL;