gpt4 book ai didi

mysql - 多列搜索相同的值

转载 作者:行者123 更新时间:2023-11-29 06:47:51 25 4
gpt4 key购买 nike

我正在尝试搜索与值 1 匹配的多个列

columns: 1S, 2S, 3S, 4S

数据库是这样的

aa, 0, 0, 1, 0
ab, 1, 0, 1, 0
ac, 1, 0, 0, 0
ad, 1, 1, 1, 0

我想查询返回 1 行,仅显示是否存在值为 1 的列。它应该返回的例子

1, 1, 1, 0

列 1S、2S 和 3S 为 1,因为存在值为 1 的行。4S 为 0,因为没有行值为 1。

我试过了,但是我遇到了一个 mysql 错误#1242 - 子查询返回多于 1 行

SELECT * FROM `show` AS s 
JOIN (`make` AS v, zip AS p)
ON (s.make = v.id AND s.zip = p.zip)
WHERE (
SELECT CONCAT_WS(' AND ', CONCAT(column_name, ' = 1 '))
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'show'
AND table_schema = 'DB_NAME'
AND column_name NOT IN ('id')

)

最佳答案

好的,这个怎么样:

SELECT 
IF(SUM(1S) > 0, 1, 0),
IF(SUM(2S) > 0, 1, 0),
IF(SUM(3S) > 0, 1, 0),
IF(SUM(4S) > 0, 1, 0)
FROM `show`

关于mysql - 多列搜索相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17522685/

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