我是一名(自学成才很差)的自学PHP开发人员,所以对我很轻松。 :)
我有一个工具,我试图创建它连续收集条目,并命令它们,以便NULL值最后在行的末尾。例如,如果我有一行看起来像这样
| LeaderID | Person1 | Person2 | Person3 | Person4 | Person5 | Person6 |
|-----------|---------|---------|---------|---------|---------|---------|
| 1 | NULL | 5 | 8 | NULL | 9 | 11 |
我希望能够读取值的行并让它写回以下行:
| LeaderID | Person1 | Person2 | Person3 | Person4 | Person5 | Person6 |
|----------|---------|---------|---------|---------|---------|---------|
| 1 | 5 | 8 | 9 | 11 | NULL | NULL |
希望这是有道理的,但请问是否。我已经搜索过,似乎无法找到解决此问题的方法。
提前致谢!
答案 0 :(得分:-1)
我想不出一个不会是小说长度的SELECT,但是这一系列的UPDATE可以用来(永久地)更改你的数据或者用在你的数据的临时副本上,以获得什么我想你想要。
UPDATE theTable SET Person1 = Person2, Person2 = NULL WHERE Person1 IS NULL;
UPDATE theTable SET Person2 = Person3, Person3 = NULL WHERE Person2 IS NULL;
UPDATE theTable SET Person3 = Person4, Person4 = NULL WHERE Person3 IS NULL;
UPDATE theTable SET Person4 = Person5, Person5 = NULL WHERE Person4 IS NULL;
UPDATE theTable SET Person5 = Person6, Person6 = NULL WHERE Person5 IS NULL;
这不能保证第一次通过你想要的东西;您可能需要重复这一系列更新五到六次以“涓流”所有值(取决于有多少相邻的空值)。
它实际上可以在一个查询中完成,但它会比这复杂得多。