gpt4 book ai didi

sql - 选择子句 : Optional Columns?

转载 作者:行者123 更新时间:2023-11-29 03:59:00 24 4
gpt4 key购买 nike

我想在我的 MYSQL 数据库上运行一个查询。我正在搜索的表有一个 file_type 字段,它将是三个值 (1,2,3) 之一。根据这些值的不同,我想从数据库中查找不同的信息。

例如,如果“file_type”字段是 1 或 2,那么我想选择字段 a、b、c、d但是,如果我注意到 file_type = 3,那么我想选择字段 a、b、c、d、e、f

这可以在单个 SELECT 语句中完成吗?像这样 - 是的

my_simple_query = SELECT file_type,a,b,c,d FROM table1
my_new_query = SELECT file_type,a,b,c,d (AND e,f IF file_type = 3) FROM table1

谢谢大家

-------------------------------- 添加 ---------- ------------------------

如果 e、f 存储在另一个表中,我将如何执行此操作?

my_multitable_query = SELECT file_type,id,a,b,c,d (AND e,f FROM table2 WHERE id=id) FROM table1

明白我的意思了吗?

最佳答案

不,SQL SELECT 语句不支持可选列。

但是您可以指定逻辑仅根据条件返回值,否则它们将为空:

SELECT a,b,c,d,
CASE WHEN file_type = 3 THEN t2.e ELSE NULL END AS e,
CASE WHEN file_type = 3 THEN t2.f ELSE NULL END AS f
FROM TABLE_1 t1
JOIN TABLE_2 t2 ON t2.id = t1.id

关于sql - 选择子句 : Optional Columns?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3133992/

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