возвращая имя столбца с логическим значением 0 - PullRequest
0 голосов
/ 08 февраля 2011

Я хочу запросить таблицу ниже, чтобы вернуть заголовки столбца, где пересечение SessionId и Roomx равно 0. Тип комнаты - TINYINT - что в mysql представляет BOOLEAN

Ниже приведена таблица:

SessionId    Room1    Room2    Room3
    1          0        1        0  
    2          1        0        1

Для приведенной выше таблицы, например для SessionId 1, запрос должен возвращать Room1 и Room3 Помощь будет высоко ценится. Спасибо.

Ответы [ 2 ]

1 голос
/ 11 февраля 2011

Мне кажется, что стол нуждается в редизайне. Судя по именам столбцов, «объектами» (строками), с которыми вы должны иметь дело, являются «События»: событие происходит в комнате, в течение секции. При такой настройке ваша таблица будет выглядеть так:

session_id room_id
1          2
2          1
2          3

Теперь еще нет запроса, который даст вам комнаты, которые не используются во время данного сеанса, но легко найти те, которые :

SELECT room_id FROM events WHERE session_id = <whatever>

И это легко объединить со списком всех возможных комнат, чтобы получить необходимую информацию.

Надеюсь, это поможет!

PS: Если у вас также есть таблица rooms (я бы не добавил ее только для этого, но если бы она у вас была), она становится еще проще:

SELECT id FROM rooms WHERE NOT EXISTS (SELECT * FROM events WHERE room_id = id AND session_id = <whatever>)
0 голосов
/ 08 февраля 2011
SELECT column_name FROM information_schema.columns WHERE table_name = 'tabel Name' 
...