1
这些都是我的表:Sql字符串不等于加入?
MITARBEITER (mid, mname, abtid*)
PROJEKT (prjid, prjname, prjleiter*)
ARBEITSPAKETE (prjid, apid, apbezeichnung, umfangstd)
ARBEITET_AN (mid*, prjid*, apid*, anzahlstd)
ABTEILUNG (abtid, abtname)
我想选择所有的名称来自我的Mitarbeiter表,谁的Projektname“优化处理Einkauf”没有工作。
这是我的SQL:
SELECT DISTINCT MITARBEITER.mname
FROM MITARBEITER
JOIN ARBEITET_AN
ON MITARBEITER.MID = ARBEITET_AN.MID
JOIN ARBEITSPAKETE
ON ARBEITET_AN.prjid = ARBEITSPAKETE.prjid
JOIN PROJEKT
ON ARBEITSPAKETE.prjid = PROJEKT.prjid
where NOT (PROJEKT.prjname = 'Optimierung Einkauf') ;
我想:
SELECT DISTINCT MITARBEITER.mname
FROM MITARBEITER
JOIN ARBEITET_AN
ON MITARBEITER.MID = ARBEITET_AN.MID
JOIN ARBEITSPAKETE
ON ARBEITET_AN.prjid = ARBEITSPAKETE.prjid
join PROJEKT
ON ARBEITSPAKETE.prjid = PROJEKT.prjid
where PROJEKT.prjname <> 'Optimierung Einkauf';
为什么我得到Mitarbeiter谁的Projekt的工作?
感谢。这工作。你能解释一下......(选择1来自Arbeitet_An)吗? 1做什么? – Hansanho
@Hansanho。 。 。这是一个相关的子查询。它检查子查询中的任何行是否匹配。注意'WHERE'子句中的连接到外部查询。 –
是的,我明白了。因此,如果Where子句匹配,则返回1?谢谢戈登你帮助我很多,并节省了我的时间:D! – Hansanho