SQL在一个查询中根据查询结果创建一个新表

SQL在一个查询中根据查询结果创建一个新表,sql,Sql,下面是我从一个查询创建一个表的尝试,在使insert into语句正常工作时遇到了一些困难,查询的其余部分工作得很好,只是无法将返回结果放入一个新表中。知道如何操作吗 CREATE TABLE test ( a varchar(255), b varchar(255), ) --I assume the above is wrong , not sure why-- Insert into test (a, b) select (

下面是我从一个查询创建一个表的尝试,在使insert into语句正常工作时遇到了一些困难,查询的其余部分工作得很好,只是无法将返回结果放入一个新表中。知道如何操作吗

    CREATE TABLE test (
        a varchar(255),
        b varchar(255),

    )
--I assume the above is wrong , not sure why-- 

  Insert into test (a, b)
    select (B , Cor)
    from 
    (
      --below works great---
      Select B,
             CASE
               WHEN B = 't' THEN 'test' 
               WHEN B = '-' THEN 'NULL'

               WHEN B = 'Choos' THEN 'NULL'

               WHEN B = 'Se Co' THEN 'S'

               --
               WHEN B LIKE 'Y%' THEN 'di'
               WHEN B LIKE 'T%' THEN 'Ten'
               --
               ELSE B

           END AS Cor
    FROM
      (SELECT WON AS B
       FROM ma
       UNION SELECT C
       FROM ma )
    Order By B )

括号是可疑的:

Insert into test (a, b)
    select (B, Cor)
-----------^
一些数据库可能会将其解释为带有两个字段的单个元组(结构或记录)。有些会产生错误。基本上,您希望删除这些参数:

Insert into test (a, b)
    select B, Cor
    . . .

你用的是什么产品?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您在标准SQL中使用的数据库产品添加一个,这是使用
创建表测试作为选择来完成的…
-但是您需要删除选择部分中列列表周围完全错误的括号。@pes04:您需要以
结束每个语句按照您编写它的方式,它被假定为一个大语句。