0

次のSELECTステートメントを使用して、動作した後にDELETEステートメントを作成しようとしています。

基本的に、テーブル「リスト」には、削除する必要のある一連のレコードがあります。EmpNoがアドレステーブルに見つからない場合は、リストテーブルからレコードを削除したいと思います。無効な構文を取得し続けます。私は何が間違っているのですか?

SELECT A.*
FROM address A
LEFT JOIN listing B
USING (EmpNo)
WHERE B.EmpNo IS <> A.EmpNo
4

1 に答える 1

2

ISここでキーワードを削除します。

WHERE B.EmpNo IS <> A.EmpNo

する必要があります:

WHERE B.EmpNo  <> A.EmpNo

EmpNo両方のテーブルに同じ名前で存在する場合、USINGそこで正しく機能します。ONそれ以外の場合は、 :を使用してもう少し明示的にすることができます。

FROM 
  address A
  LEFT JOIN listing B
    ON A.EmpNo = B.EmpNo

Aに一致するものがないレコードを見つけるには、の代わりにBテストします。B.EmpNo IS NULLB.EmpNo <> A.EmpNo

WHERE B.EmpNo IS NULL
于 2013-02-26T20:13:17.757 に答える