查询结果输入结束时的语法错误' (java / Postgres)

时间:2018-04-12 12:35:36

标签: java sql postgresql

我收到一条我不明白的错误。 这是WHERE子句中查询的一部分,导致错误。

WHERE 
CASE so.console_role
WHEN 'NONE' THEN so.orderid = '512' 
ELSE so.console_id IN (select console_id from service_order where so.orderid 
= '512')

错误:

  

错误:输入LINE 118结束时的语法错误:

有人有个主意吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

请勿在{{1​​}}子句中使用for i in `seq 10`; do touch model_best; mv model_best model_$i_best; done 个表达式。使用布尔逻辑:

case

请注意,这不会将where的值WHERE (so.console_role = 'NONE' AND so.orderid = '512' ) OR (so.console_role <> 'NONE' AND so.console_id IN (select console_id from service_order where so.orderid = '512') ) 考虑在内,尽管这很容易添加。

另外,我怀疑第二部分的逻辑是不正确的,你打算:

NULL

您的子查询版本中的so_console_role子句引用外部查询中的WHERE (so.console_role = 'NONE' AND so.orderid = '512' ) OR (so.console_role <> 'NONE' AND so.console_id IN (select so2.console_id from service_order so2 where so2.orderid = '512') )