如何限制select语句的列?

时间:2017-03-13 13:25:42

标签: sql select

我必须创建一个新表,里面应该是我从CASE语句中获得的列。我不需要select语句产生的其余列

例如:

CREATE TABLE test
AS (
SELECT a.id, ...
CASE WHEN a.id = 1 THEN 2
ELSE 0 
END as LegalType
FROM table a, ...
WHERE ...);

现在我的问题是如何从CASE语句中仅选择LegalType列?我不想要列a.id

1 个答案:

答案 0 :(得分:0)

您可以选择INTO

SELECT CASE WHEN a.id = 1 THEN 2 ELSE 0 END as LegalType
       ....
INTO   test
FROM   table a
WHERE  1=1);

这将根据SELECT中返回的数据创建一个表。见https://msdn.microsoft.com/en-GB/library/ms188029.aspx