SQL isset and not showing blank 'cells'

限于喜欢 提交于 2019-12-23 19:30:52

问题


I'm using one of my MySQL database tables as an actual table, with times of the day as each column, and one column called day. You guessed it, in day it says the day of the week, and in the rest of the cells it says what is happening at that time.

What I want to do is only show the cells that have value in it. In my case, I'm always going to have all the rows and 2 columns full. The 2 columns are 'day' and '19:00', however in the future I might add values for '18:00' etc.

So, how can I only SELECT the columns and rows which have data in them? Some type of 'WHERE: there is data'?

Thanks!

EDIT: Picture


回答1:


From what I gathere you are looking something along the lines of

WHERE col1 IS NOT NULL

But it would be helpful if you could elaborate more on your schema, especially if you could draw a sample table.




回答2:


Having time or day as columns means that you have data in your field names. Data belongs inside the table, so you should normalise the database:

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

This way you don't get a lot of empty fields in the table, and you don't have to change the database design to add another time of day.

Now you can easily fetch only the times that exist:

select Day, TimeOfDay, Appointment from Calendar


来源:https://stackoverflow.com/questions/3108011/sql-isset-and-not-showing-blank-cells

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!