我知道我可以用我的编程语言做到这一点,但我想尝试在 SQL 中做到这一点,这样我就不必打扰任何前端代码。
我有一个包含三个名称字段的表 - name1、name2、name3。
任何或所有这些字段中可能有随机值。
我想要一个返回三个字段的查询,
它将检查 name1,name2,name3 - 哪个第一个字段有值进入 first_name,哪个第二个字段有值进入 second_name,然后是 third_field。
我可以轻松地编写一个 CASE-END 语句来填充 first_name,但是当我开始编写 second_name 的逻辑时,它变得更加复杂。
SQL:
SELECT
CASE
WHEN NAME1 IS NOT NULL
THEN NAME1
ELSE
CASE
WHEN NAME2 IS NOT NULL
THEN NAME2
ELSE
CASE
WHEN NAME3 IS NOT NULL
THEN NAME1
ELSE ''
END
END
END FIRST_NAME
FROM TABLE_NAME
现在,我该如何处理 second_name 和 third_name?还是他们更简单的方法?
任何帮助表示赞赏..