用途: 我想根据列的文本和列出的每个item_number的文本计数来验证单个列中的文本属于特定类别(item_numbers预计将被多次列出,其中'textA'为4行(count),'textB'为2行(count))。尝试更新包含集合函数的select case语句时出错(计数)
但是,如果item_number不符合特定类别,那么我希望返回一条指示该差异的消息。
目前的结果: 我收到此错误信息:SQL错误:ORA-00933:SQL命令不能正确地结束
脚本:
UPDATE TableA
SET TableA.Column1 = T.Count
from TableA JOIN (
select TableA.item_1,TableA.object_2,
case
when count(object_2) !=4 and dobject_2 = 'textA'
then 'ERROR_A'
WHEN COUNT(object_2) !=2 AND object_2 = 'textB'
ELSE 'ERROR_B'
END AS Count
from TableA
JOIN ac on (TableA.item_1 = ac.item_1 and TableA.object_2 = ac.object_2)
where ac.object_3 in ('textC','textD',null)
group by TableA.item_1,TableA.object_2
)T on TableA.item_1 = t.item_1 and TableA.object_2 = t.object_2;
Oracle不支持'update'语句中的'join'。另外,我正在删除“mysql”标记,因为错误消息来自Oracle。 – 2014-10-06 20:48:07