gpt4 book ai didi

mysql - 如何根据 SQL 中另一个字段的值选择一个字段?

转载 作者:行者123 更新时间:2023-11-29 15:46:04 25 4
gpt4 key购买 nike

我有一个包含以下字段的表:

current_field
field_1
field_2
field_3
...etc...

current_field 包含要选择的字段的名称。

如果 current_field 包含“field_23”,我将如何构造 select 语句来选择 current_field 和 field_23?

最佳答案

您可以使用巨大的 case 表达式:

select (case when current_field = 'field_1' then field_1
when current_field = 'field_2' then field_2
. . .
end) as current_field_value

注意:这要求所有字段值具有相同(或兼容)的类型。

一般来说,这种类型的操作表明您的数据模型存在问题。这不是典型的表达类型。

更好的数据模型是将其存储在两个表中,例如:

  • entities 表,包含 entity_idcurrent_field
  • fields 表,包含 entity_idfield_namefield_value

那么你可以将逻辑表达为:

select e.*, f.*
from entities e join
fields f
on e.entity_id = f.entity_id
where f.field_name = e.current_field;

关于mysql - 如何根据 SQL 中另一个字段的值选择一个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57026687/

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