0

次のようなクエリがあります。

SELECT  em.Ename 
FROM    dbo.Email_tbl e 
JOIN dbo.EmployeeMaster_tbl em ON em.Ecode = e.ECode
WHERE e.plcid='25'

次のような出力が得られます。

Ename
-------------------
Ahmed
Ahmed Elkhouli
akbar
Alaudddin

次のような別のクエリがあります。

SELECT e.Ename 
from dbo.EmployeeMaster_tbl e 
WHERE e.gid not IN(SELECT did 
                   FROM dbo.Designation_tbl d 
                   WHERE d.Dname ='Driver'  )

そして、私は次のような出力を得ています:

Ename
--------------------------------------------------
Shaijomon John
Masum
Tausef Ahmad
Abdu Rahiman
Mohammad Shopan
Benzy P A
Mohammad Ali
Kauser Mohammad
Rasheed Pulakkuttathil
Lakshuman Perappan
Ahmed
Ahmed Elkhouli
akbar
Alaudddin 

最初のクエリに存在しない行の ename を出力する必要があります。

だから私はこのようなクエリを試しました:

SELECT e.Ename 
from dbo.EmployeeMaster_tbl e 
WHERE e.gid not IN(SELECT did 
                   FROM dbo.Designation_tbl d 
                   WHERE d.Dname ='Driver') 
and not in (SELECT  em.Ename 
            FROM  dbo.Email_tbl e 
            JOIN dbo.EmployeeMaster_tbl em ON em.Ecode = e.ECode 
            WHERE e.plcid='25')
order by e.Ename  

しかし、キーワードの近くで不正な構文エラーが発生していますin

4

2 に答える 2

0
SELECT e.Ename from dbo.EmployeeMaster_tbl e 
WHERE e.gid not IN 
(SELECT did 
FROM dbo.Designation_tbl d
 WHERE d.Dname ='Driver') 
 and e.name not in (SELECT  em.Ename 
 FROM  dbo.Email_tbl e 
JOIN dbo.EmployeeMaster_tbl em 
ON em.Ecode = e.ECode 
WHERE e.plcid='25')
order by e.Ename
于 2013-09-10T13:01:02.863 に答える
0

これを試してください、あなたはe.Enameどこの条件で行方不明です

SELECT e.Ename from dbo.EmployeeMaster_tbl e 
 WHERE e.gid not IN(SELECT did FROM dbo.Designation_tbl d WHERE d.Dname ='Driver') 
 and e.Ename not in (SELECT  em.Ename FROM  dbo.Email_tbl e 
 JOIN dbo.EmployeeMaster_tbl em ON em.Ecode = e.ECode WHERE e.plcid='25')
 order by e.Ename
于 2013-09-10T13:01:27.757 に答える