如何在ms访问中获得与下面的SQL代码相同的结果?它不承认该EXCEPT条款......
SELECT DISTINCT
P.Name,
T.Training
FROM Prof AS P,
Training_done AS TC,
Trainings AS T
WHERE (P.Name Like '*' & NameProf & '*')
AND (P.Primary_Area = T.Cod_Area)
EXCEPT
SELECT DISTINCT
P.Name,
T.Training
FROM Prof AS P,
Training_done AS TC,
Trainings AS T
WHERE (P.Name Like '*' & NameProf & '*')
AND (P.Cod_Prof = TC.Cod_Prof);
Run Code Online (Sandbox Code Playgroud)
提前致谢!
为了摆脱EXCEPT你,你可以结合条件,否定第二个:
SELECT DISTINCT
P.Name,
T.Training
FROM Prof AS P,
Training_done AS TC,
Trainings AS T
WHERE ((P.Name Like '*' & NameProf & '*') AND
(P.Primary_Area = T.Cod_Area))
AND NOT ((P.Name Like '*' & NameProf & '*') AND
(P.Cod_Prof = TC.Cod_Prof));
Run Code Online (Sandbox Code Playgroud)
SELECT A.x FROM A
EXCEPT
SELECT B.x FROM B
Run Code Online (Sandbox Code Playgroud)
对应于
SELECT A.x FROM A
LEFT JOIN B
ON A.x = B.x
WHERE B.x IS NULL
Run Code Online (Sandbox Code Playgroud)