SQL установлен и не показывает пустые «ячейки» - PullRequest
3 голосов
/ 24 июня 2010

Я использую одну из моих таблиц базы данных MySQL в качестве фактической таблицы со временем дня в качестве каждого столбца и одним столбцом с именем день Вы догадались, в день, когда он говорит день недели, а в остальных камерах - что происходит в это время.

То, что я хочу сделать, это показать только те ячейки, в которых есть значение. В моем случае я всегда буду заполнять все строки и 2 столбца. 2 столбца - «день» и «19: 00», однако в будущем я могу добавить значения «18: 00» и т. Д.

Итак, как я могу выбрать только столбцы и строки, в которых есть данные? Какой-то тип «ГДЕ: есть данные»?

Спасибо!

РЕДАКТИРОВАТЬ: Изображение Database

Ответы [ 2 ]

2 голосов
/ 24 июня 2010

Наличие времени или дня в виде столбцов означает, что у вас есть данные в именах ваших полей. Данные принадлежат таблице, поэтому вы должны нормализовать базу данных:

table Calendar
--------------
Day
TimeOfDay
Appointment

Таким образом, вы не получаете много пустых полей в таблице и вам не нужно менять структуру базы данных, чтобы добавить другое время дня.

Теперь вы можете легко получить только те времена, которые существуют:

select Day, TimeOfDay, Appointment from Calendar
1 голос
/ 24 июня 2010

Из того, что я понял, вы смотрите что-то вроде

WHERE col1 IS NOT NULL

Но было бы полезно, если бы вы могли более подробно рассказать о своей схеме, особенно если бы вы могли нарисовать пример таблицы.

...