1
我試圖尋找多列匹配的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.
我試圖值NO行這一點,但我得到一個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