如果表中有空值,如何将MySQL列合并为一列?

时间:2014-12-31 13:58:38

标签: mysql sql select insert

我认为如果通过显示图像问你会更好。

这是我的people表。如你所见,这是一个糟糕的设计理念。有些人有不止一个职业(作家/女演员),所以我会使用一个联结表来使它工作,并摆脱people表。我的问题是,如何在不复制空值的情况下将所有这些值从people移动到person表? (例如,people_id = 1只包含一个导演名称,其他名称为空。

以下查询也会添加空值。我也无法用它选择所有列。

INSERT INTO person (person_name)
          SELECT director_name
          FROM people
          WHERE people_id < 150000;

我的人桌。我想将所有名称从人员复制到person表,在person_name列中。 enter image description here

1 个答案:

答案 0 :(得分:3)

据推测,您想比较NULL / blank / whatever:

INSERT INTO person (person_name)
      SELECT director_name
      FROM people
      WHERE people_id < 150000 AND
            director_name IS NOT NULL AND
            director_name <> '';