如何根据查询获取的数据创建表

时间:2015-06-23 19:20:35

标签: sql

我想知道如何使用从查询中获取的数据创建表。

select COUNT (SIGPAREDEX) AS BloqueConcreto 
from dbo.FICH_3_3$ 
where SIGPAREDEX ='BCO' 

select COUNT (SIGPAREDEX) AS Ripios 
from dbo.FICH_3_3$ 
where SIGPAREDEX ='RIP'

select COUNT (SIGPAREDEX) AS Minifalda 
from dbo.FICH_3_3$ 
where SIGPAREDEX ='MIN'

select COUNT (SIGPAREDEX) As MaderaAcepillada 
from dbo.FICH_3_3$ 
where SIGPAREDEX ='MAD'

select COUNT (SIGPAREDEX) AS LosetasConcreto from dbo.FICH_3_3$ where SIGPAREDEX = 'CPR'

Select COUNT (SIGPAREDEX) As MaderaRustica from dbo.FICH_3_3$ where SIGPAREDEX = 'MAR'

select COUNT (SIGPAREDEX) As LadrilloCuarteron from dbo.FICH_3_3$ where SIGPAREDEX = 'LAC'
select COUNT (SIGPAREDEX) AS LaminasMetalicas from dbo.FICH_3_3$ where SIGPAREDEX = 'MET'

select COUNT (SIGPAREDEX) As Plywood from dbo.FICH_3_3$ where SIGPAREDEX = 'PLY'
select COUNT (SIGPAREDEX) As BloqueDeBarro from dbo.FICH_3_3$ where SIGPAREDEX = 'BBA'

Select COUNT (SIGPAREDEX) As Katrinite from dbo.FICH_3_3$ where SIGPAREDEX = 'KAD'

Select COUNT (SIGPAREDEX) As LaminaFibroCemento from dbo.FICH_3_3$ where SIGPAREDEX = 'LFC'

Select COUNT (SIGPAREDEX) As ConcretoMonolitico from dbo.FICH_3_3$ where SIGPAREDEX = 'CMO'

Select COUNT (SIGPAREDEX) As PiedraCantera from dbo.FICH_3_3$ where SIGPAREDEX = 'PCA'

Select COUNT (SIGPAREDEX) As Adobe from dbo.FICH_3_3$ where SIGPAREDEX = 'ADO'

Select COUNT (SIGPAREDEX) As Convitec from dbo.FICH_3_3$ where SIGPAREDEX = 'COV'

Select COUNT (SIGPAREDEX) As Gypsum from dbo.FICH_3_3$ where SIGPAREDEX = 'GYP'

Select COUNT (SIGPAREDEX) As PanelFerroCemento from dbo.FICH_3_3$ where SIGPAREDEX = 'PFC'

Select COUNT (SIGPAREDEX) As PiedraBolon from dbo.FICH_3_3$ where SIGPAREDEX = 'PRC'

Select COUNT (SIGPAREDEX) As SinInformacion from dbo.FICH_3_3$ where SIGPAREDEX = 'SIN'

Select COUNT (SIGPAREDEX) As LaminasTroqueladas from dbo.FICH_3_3$ where SIGPAREDEX = 'LTR'

我尝试使用以下视图:

SELECT SIGPAREDEX ,
  CASE
    WHEN EXISTS (SELECT *  FROM View1 ) THEN '1' 

  END AS [LTR],
    CASE
    WHEN EXISTS (SELECT *  FROM View2 ) THEN '1'

    END AS [SIN]

    From dbo.FICH_3_3$

但这不是我想要的,我需要得到这样的东西:

Bloque concreto   11698  
Ripios            29..
Minifalda          3109
Plywood            a value

一张桌子里的所有东西

请尽快帮助我

此致

1 个答案:

答案 0 :(得分:1)

以下是伪代码的答案。 您需要使用Union all作为子查询的名称。 这些名称必须相同,因为您正在构建一个表。

select 'YourDataTile' as Title,(select count(YOURCOL) as Value from YOURTABLE ) Value
union all
select 'YourOtherDataTile' as Title,(select count(YOUROTHERCOL) as Vvalue from YOUROTHERTABLETABLE ) Value

这是你的例子的开头

SELECT 'BloqueConcreto' as Title, (select COUNT (SIGPAREDEX) AS BloqueConcreto from dbo.FICH_3_3$ where SIGPAREDEX ='BCO') Value
union all
SELECT 'Ripios ' as Title, (select COUNT (SIGPAREDEX) AS Ripios from dbo.FICH_3_3$ where SIGPAREDEX ='RIP') Value

只需添加

union all select ....

用于所有查询

相关问题