gpt4 book ai didi

sql - CASE WHEN after THEN 或 Select value from another table

转载 作者:行者123 更新时间:2023-12-04 11:28:03 25 4
gpt4 key购买 nike

我需要这样做:

SELECT 
COLUMN1,
COLUMN2,
CASE SOMETHING WHEN 0 THEN 'SOMETHING'
ELSE
CASE SOMETHING1 WHEN 'SOMETHING2' THEN (Here I need my value from other table)
ELSE
...
ELSE
...
END
END
AS SOMETHINGSPECIAL
...
...
...

整个选择非常复杂,抱歉。

在 THEN in () 之后的地方,我需要从其他表中取出特定值。
我已经尝试了几乎所有从连接到放置的所有内容 SELECT WHERECASE WHEN声明它总是以一些错误结束。
关键字丢失等。

也可能问题出在 () 里面有长连接:
''

我需要将其他表中的特定值放入该连接中。
它要么不想让我使用其他 CASE WHEN在那之后 THEN或者我做错了什么。

编辑(抱歉可以 t post entire query don 不想在工作中遇到问题):
SELECT 
A.SOMETHING
CASE WHEN A.LIST_ID IN ('something','something') THEN '<A HREF="something?thresholdId=something' || GET_SITE_SUFFIX() || chr(38) || 'task=runSQL' || chr(38) || 'parseParams=true' || chr(38) || 'list_id=' || A.LIST_ID || chr(38) || 'list_name=' || A.LIST_NAME || '"> (MY VALUE FROM OTHER TABLE HERE) </A>'
END
AS SOMETHINGSPECIAL
FROM SOMETABLE
...

(我在其他表中的值)我试图在那里放置 Select 语句条件,Case 语句以从其他表中取出该值,但它只是给了我错误。

最佳答案

您可以使用相关子查询:

(CASE SOMETHING
WHEN 0 THEN 'SOMETHING'
ELSE (CASE SOMETHING1
WHEN 'SOMETHING2' THEN (select value from othertable ot where ot.col = x.col)
ELSE . . .

请注意,您不需要嵌套案例。你可以这样写:
(CASE WHEN SOMETHING = 0 THEN 'SOMETHING'
WHEN SOMETHING1 = 'SOMETHING2' THEN (select value from othertable ot where ot.col = x.col)
ELSE . . .
END)

关于sql - CASE WHEN after THEN 或 Select value from another table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26842857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com