2016-06-13 92 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);