【问题标题】:Can't figure out how to create a select statement from this scenario?无法弄清楚如何从这种情况下创建选择语句?
【发布时间】:2020-01-24 02:04:22
【问题描述】:

您能否帮助制定以下场景中的选择语句?

column1    column2      column3    column4           column5         column6
a          b             c          alt1              alt2           alt3
aa         bb            cc         alt1              alt2
aaa        bbb           ccc        alt1

如果 column6 !=Null 那么结果应该给我 3 行数据

abcalt3
abcalt2
abcalt1

如果 column6 = Null 和 column5 !=Null 那么结果应该给我 2 行数据

aabbccalt2
aabbccalt1

如果 column6 = Null and column5 = Null and column4 != Null 那么结果应该给我 1 行数据

aaabbbcccalt1

【问题讨论】:

  • 您能否添加一些关于您已经尝试过的内容以及您的发现的信息?
  • “不知道如何从这个场景中创建一个 select 语句?” -- 你可以从弄清楚你真正使用的 DBMS 开始,然后只标记它......
  • column6 有 2 个空值和 1 个非空值。预期的结果是什么?

标签: sql


【解决方案1】:

您可以尝试使用 UNION ALL 并针对不同的条件使用单独的 select 语句,如下所示-

DEMO HERE

SELECT column1+column2+column3+column4 
FROM your_table where column6 is not null
UNION ALL
SELECT column1+column2+column3+column5
FROM your_table where column6 is not null
UNION ALL
SELECT column1+column2+column3+column6 
FROM your_table where column6 is not null

UNION ALL

SELECT column1+column2+column3+column4 
FROM your_table where column6 is null AND column5 IS NOT NULL
UNION ALL
SELECT column1+column2+column3+column5
FROM your_table where column6 is null AND column5 IS NOT NULL

UNION ALL

SELECT column1+column2+column3+column4 
FROM your_table where column6 is null AND column5 IS NULL AND column4 IS NOT NULL 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多