【发布时间】:2021-03-24 05:06:14
【问题描述】:
我试图在一个案例中放置一个 select 语句,但我无法正确放置它。
第一个case语句很好,但第二个是问题。
有人可以用正确的语法指导我吗,
select u.unit_id,
u.order_code,
u.order_item,
u.roll_sheet,
u.date_wound,
u.date_shipped,
u.unit_status,
u.warehouse_code,
(case
when u.unit_id_turnup is not null then
(select u1.onput_id
from unit u1
where u.unit_id_turnup = u1.unit_id)
else
u.onput_id
end) "onput id",
(case
when u.unit_id_turnup is not null then
(select CASE WHEN U1.UNIT_ID_TURNUP IS NOT NULL
from unit u1 then (select u3.onput_id
from unit u3
where u1.unit_id_turnup = u3.unit_id) else u1.onput_id)
else
u.onput_id
end) "onput id2",
from unit u
【问题讨论】:
-
您的
case when语句在您的第二个查询 (CASE WHEN {} ELSE {} END) 中格式错误,并且中间有一些FROM。使用left join可以更好地解决您的查询。 -
你能不能指导一下,如何@jamieDrq
-
样本数据、所需结果以及对您要实现的逻辑的解释都会有所帮助。另外,请解释您遇到的问题。
标签: sql oracle oracle11g oracle10g