gpt4 book ai didi

MySQL:如何指定表中多列的通用条件?

转载 作者:行者123 更新时间:2023-11-29 13:05:39 24 4
gpt4 key购买 nike

我有一个包含 24 列的表(jan1, jan2, feb1, feb2, mar1, mar2,....dec1,dec2),行具有唯一的 ID(1 到 N)。单元格值为 1(真)或 2(假)。现在我想查询所有月份(列)都具有 1 (真)值的特定行。

我可以编写像这样的查询

select * form [table] 
where id=232 and
jan1=1 and jan2=1 and feb1=1 ....... and dec2=1;

但是正在寻找更好的解决方案(如果有的话)。请帮忙。

最佳答案

解决方案 1:

连接一行的所有列值并与111111111111111111111111比较是否相等。

select * from [table] 
where id = 232 and
concat( jan1, jan2, feb1, ......., dec2 ) = '111111111111111111111111`;

解决方案 2:

连接一行的所有列值,并将所有 1 替换为空字符,然后比较 0 的长度。

select * from [table] 
where id = 232 and
length( replace( concat( jan1, jan2, feb1, ......., dec2 ),
'1',
'' )
) = 0;

关于MySQL:如何指定表中多列的通用条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22747587/

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