Я пытаюсь найти несколько столбцов соответствие значение 1Multiple поиска колонки для той же стоимости
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')
)
См. Нормализацию – Strawberry