SQL关于何处 /案例的问题

发布于 2025-01-19 21:44:24 字数 453 浏览 0 评论 0原文

我在SQL Statment上有问题。 它具有选择参数值的选择框,包括“ A”,“ B”和空。 They will pass to :ABC value

How can I handle when select 'A', the data will show result related 'A', B will select B and empty will select both A and B.

I have no idea to handle when select "Empty ”,SQL将选择A和B。 非常感谢您帮助我。

Select * From table WHERE table.abc IN
(CASE WHEN :ABC = 'A' THEN 'A'
WHEN :ABC = 'B' THEN 'B'
WHEN :ABC IS NULL THEN ('A','B')
END);```

I have a problem on sql statment.
It has the selection box to choose parameter value, include 'A', 'B' and Empty. They will pass to :ABC value

How can I handle when select 'A', the data will show result related 'A', B will select B and empty will select both A and B.

I have no idea to handle when select "Empty", the sql will select both A and B.
Thank you so much for helping me.

Select * From table WHERE table.abc IN
(CASE WHEN :ABC = 'A' THEN 'A'
WHEN :ABC = 'B' THEN 'B'
WHEN :ABC IS NULL THEN ('A','B')
END);```

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

疯到世界奔溃 2025-01-26 21:44:24

在Select ... 中使用,代替(..)可以解决此问题:

Select * 
From table 
WHERE table.abc IN
   (SELECT 'A' WHERE :ABC='A' or :ABC IS NULL
    union
    SELECT 'B' WHERE :ABC='B' or :ABC IS NULL
   )

Using IN SELECT..., in stead of IN (..) can solve this:

Select * 
From table 
WHERE table.abc IN
   (SELECT 'A' WHERE :ABC='A' or :ABC IS NULL
    union
    SELECT 'B' WHERE :ABC='B' or :ABC IS NULL
   )
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文