跳过空列

时间:2014-03-03 23:27:21

标签: php mysql

我有一个包含13列的表(ID,name,image,day1-10)。问题是:大多数时候我会有空列。我想知道如何才能使我的mysql查询只获得非空列,如果可能的话。

我的意思是,不会总是有day2-10有时只会设置day1而我只想从这一行得到这个值。可能吗?我尝试使用谷歌搜索,但没有找到任何有用的东西,我只能找到完全跳过整行的方法

我必须使用PHP从此查询中获取结果。

我尝试了不同的查询,但没有一个查询

1 个答案:

答案 0 :(得分:1)

而不是

Table Main

ID | name | image | day1 | day2 | day3 ...
-------------------------------------------
1  | Foo  | img1  | 7    | NULL | NULL
2  | Bar  | img2  | 9    | 13   | 14

您应该将数据规范化为两个表格,如下所示:

Table Main

ID | name | image 
------------------
1  | Foo  | img1
2  | Bar  | img2


Table Days

ID  | MainID | Day
------------------
100 | 1      | 7
101 | 2      | 9
102 | 2      | 13
103 | 2      | 14

然后,您将使用JOIN选择适用于您感兴趣的主表格中任何一个元素的所有日期。

此处的另一个好处是,您不再受限于10天。