有没有办法通过一次遍历表存储两个不同的结果

时间:2013-04-29 17:17:34

标签: sql sql-server database

我有两个临时表,其中存储了单个表的结果,并应用了不同的过滤。

INSERT INTO TEMP1
SELECT * 
FROM   MYTABLE
WHERE  MYTABLE.ID = x;

INSERT INTO TEMP2
SELECT * 
FROM   MYTABLE
WHERE  MYTABLE.ID = x
AND    MYTABLE.NAME= y

有没有办法用一个查询来完成这两个插入?

1 个答案:

答案 0 :(得分:2)

就像Aaron提到的那样,你标记了这个SQL Server和MySQL,这使得很难给你一个精确的答案。如果这是SQL Server,那么这应该有用......

INSERT  INTO TEMP2
SELECT  *
FROM   (INSERT  INTO TEMP1
        OUTPUT  Inserted.*
        SELECT  *
        FROM    MYTABLE
        WHERE   MYTABLE.ID = x) n
WHERE   n.NAME = y