Выберите столбцы, которые больше чем?

Здравствуйте, у меня есть таблица (MySQL), и в моем запросе я хотел бы получить только столбцы, которые больше или равны 4, но я понятия не имею, как это сделать

SELECT * FROM my_table WHERE * (all foo columns foo1-foo7) >= 4 AND date = '2015-09-03'

мой стол выглядит

id | foo1 | foo2 | foo3 | foo4 | foo5 | foo6 | foo 7 | date
-----------------------------------------------------
1  |   5  |  10  |  8   |  0   |   2  |  4   |  5    | 2015-09-03
2  |   7  |  18  |  0   |  1   |   0  |  5   |  7    | 2015-09-04

так что мой результат должен быть

id | foo1 | foo2 | foo3 | foo6 | foo 7 | date
-----------------------------------------------------
1  |   5  |  10  |  8   |  4   |  5    | 2015-09-03

Это возможно? заранее спасибо

-5

Решение

Более подходящий ответ (для СУРБД) — использовать две таблицы с отношением и ограничением внешнего ключа.

MASTER
ID                DATE
1                 2015-09-03

DETAIL
ID       MASTER_ID    MYNAME  MYVALUE
1        1            tom     5
2        1            bill    10
3        1            kev     8
4        1            bob     0
5        1            other   2
6        1            bleh    4
7        1            snarf   5

затем

SELECT m.id, m.date, d.myvalue FROM master m
INNER JOIN detail d ON m.id = d.master_id
WHERE m.date = '2015-09-03' AND d.myvalue > 4

это дает вам несколько строк, но затем вы можете использовать функцию PIVOT вашей СУБД, чтобы превратить это во что-то другое, если хотите.

например

SELECT m.id, m.date, d.myvalue FROM master m
INNER JOIN detail d ON m.id = d.master_id
WHERE m.date = '2015-09-03' AND d.myvalue > 4
PIVOT myvalue FOR myname

(Синтаксис сервера SQL) вы бы в конечном итоге

ID    date        tom    bill    kev    snarf
1     2015-09-03  5      10      8      5
0

Другие решения

Попробуй это

SELECT * FROM my_table WHERE id >= 4 AND foo1 >=4 AND foo2 >=4 AND date = '2015-09-03'

Заполните остальные foos, избегайте использования IS и операторов сравнения вместе.

-2

По вопросам рекламы [email protected]