У меня есть SQL-запросSQL Server 2012, исключить столбец
; with cte as
(
SELECT
PARSENAME(REPLACE(replace(replace(replace(replace(dbo.IDENTITY_MAP.Name, 'My Company\', ''), '-VLAN2', ''), '.VLAN2\', ''), '.Instr\', '') , '\' , '.'), 1) as "Site",
Count (CASE
WHEN dbo.SEM_AGENT.AGENT_VERSION LIKE '11.%' THEN 1
END) AS 'SEP-11',
Count (CASE
WHEN dbo.SEM_AGENT.AGENT_VERSION LIKE '12.%' THEN 1
END) AS 'SEP-12',
FROM
dbo.sem_computer
INNER JOIN
[dbo].[V_SEM_COMPUTER] ON [dbo].[V_SEM_COMPUTER].COMPUTER_ID = SEM_COMPUTER.COMPUTER_ID
WHERE
dbo.IDENTITY_MAP.Name NOT LIKE '%Servers%'
GROUP BY
PARSENAME(REPLACE(replace(replace(replace(replace(dbo.IDENTITY_MAP.Name,'My Company\',''),'-VLAN2',''),'.VLAN2\',''),'.Instr\','') , '\' , '.'),1)
)
select *
from cte
join SEPM_site ss on cte.Site = ss.Site
Это дает выход Я ищу ------ почти то
Site SEP-11 SEP-12 Rackcode Circuit Site
мне нужен только один столбец для Site
.
я попытался воссоздать временную таблицу со столбцами, и опуская его, т.е.
; with cte as (SELECT ...)
select * into temptable
from cte
join SEPM_site ss
on cte.Site = ss.Site
alter table temptable
drop column cte.Site
select * from temptable
drop table temptable
Но я получаю ошибку
Неправильный синтаксис около «»
И если я не указать, какие таблицы Site
от, я получаю ошибку,
имена столбцов в каждой таблице должны быть уникальными. Название столбца «Сайт» в таблице «temptable» указано более одного раза.
Но вот почему я пытаюсь удалить повторяющуюся колонку!
Спасибо!