gpt4 book ai didi

sql - CASE...WHEN 在 Postgresql 中的 WHERE 子句中

转载 作者:行者123 更新时间:2023-11-29 11:23:56 26 4
gpt4 key购买 nike

我的查询如下:

SELECT * 
FROM table
WHERE t1.id_status_notatka_1 = ANY (selected_type)
AND t1.id_status_notatka_2 = ANY (selected_place)

在这里我想添加 CASE WHEN所以我的查询是:

    SELECT *  
FROM table
WHERE t1.id_status_notatka_1 = ANY (selected_type)
AND t1.id_status_notatka_2 = ANY (selected_place)
AND CASE
WHEN t2.id_bank = 12 THEN t1.id_status_notatka_4 = ANY (selected_effect)
END

但它不起作用。语法很好,但无法搜索任何内容。所以我的问题是 - 如何在 WHERE 子句中使用 CASE WHEN。简短示例:如果 a=0 则向 WHERE 添加一些条件(AND 条件),如果不是则不添加(AND 条件)

最佳答案

不需要 CASE EXPRESSION ,只需使用带括号的 OR :

AND (t2.id_bank <> 12 OR t1.id_status_notatka_4 = ANY (selected_effect))

关于sql - CASE...WHEN 在 Postgresql 中的 WHERE 子句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45941233/

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