如何创建mysql表并在一个请求

时间:2018-02-12 11:27:17

标签: mysql sql create-table alter-table

我有一个表“cmd-services”,我使用以下SQL请求创建一个新表“list-poles”,其中包含从“cmd-services”表中提取的信息。 我使用了这个查询:

CREATE TABLE `list-poles` AS SELECT `Code P`, `Name P`,  count(`CodeP`), sum(`Qte Sortie`) FROM hospital.`cmd-services` group by `Code P` order by `Code P`;

问题是在新表“list-poles”中我得到名为“count(Code P)”和“sum(Qte Sortie)”的列。要更改这2列的名称,我需要执行2个其他查询:

alter table `list-poles` change `count(`Code P`)` `nbre cmds par an` int;
alter table `list-poles` change `sum(``Qte Sortie``)` `Qte cmds par an` double;

我的问题是:当我创建表格时,如何直接在第一个请求中选择这两个表的名称?

感谢您的帮助。 的问候,

2 个答案:

答案 0 :(得分:0)

我将 ALIAS 用于这些列。

答案 1 :(得分:0)

CREATE TABLE `list-poles` AS
  SELECT
    `Code P`,
    `Name P`,            -- You probably should have `MIN` or `MAX` or something here
                         -- Or include `Name P` in the GROUP BY

    COUNT(`CodeP`)       AS `nbre cmds par an`,  -- AS lets you name the column
    SUM(`Qte Sortie`)    AS `Qte cmds par an`    -- AS lets you name the column
  FROM
    hospital.`cmd-services`
  GROUP BY
    `Code P`
  ORDER BY
    `Code P`
  ;