2016-06-13 90 views
0

請幫忙更正以下MySQL查詢,MySQL的DELETE查詢錯誤

它扔像

錯誤

'操作數應包含一列'

delete from l0_clarabridge_s.incr_sentence_class_xref where incr_sentence_class_xref.document_id NOT IN (
select * 
from l0_clarabridge_s.incr_sentence_class_xref 
join l0_clarabridge_s.incr_document 
on incr_sentence_class_xref.document_id = incr_document.document_id); 
+1

使用'選擇id_column ....',而不是'SELECT * .....'。 – Wanderer

+2

[操作數應該包含1列的可能的重複 - MySQL不在](http://stackoverflow.com/questions/6318208/operand-should-contain-1-column-mysql-not-in) – Wanderer

+0

即使在添加document_id之後,從l0_clarabridge_s.incr_sentence_class_xref其中DOCUMENT_ID NOT IN( 選擇x.document_id 從l0_clarabridge_s.incr_sentence_class_xref X 上x.document_id = d.document_id加入l0_clarabridge_s.incr_document d )選擇*; –

回答

0

添加DOCUMENT_ID您的選擇:

delete from l0_clarabridge_s.incr_sentence_class_xref where incr_sentence_class_xref.document_id NOT IN (
select incr_sentence_class_xref.document_id 
from l0_clarabridge_s.incr_sentence_class_xref 
join l0_clarabridge_s.incr_document 
on incr_sentence_class_xref.document_id = incr_document.document_id); 
0

你是你WHERE語句比較兩列,而不是一個,請嘗試以下操作:

DELETE FROM l0_clarabridge_s.incr_sentence_class_xref WHERE incr_sentence_class_xref.document_id NOT IN (
SELECT [insert your ID column name here] 
FROM l0_clarabridge_s.incr_sentence_class_xref 
JOIN l0_clarabridge_s.incr_document 
ON incr_sentence_class_xref.document_id = incr_document.document_id);