Мне нужно потянуть имя таблицы как значение в столбце. Что мешает, так это то, что запрос настраивается как цикл - запрос извлекает данные из нескольких таблиц, но без имени таблицы/идентификатора я не могу определить, из какой таблицы были получены данные. Это довольно большой запрос, поэтому я не включаю в него всю вещь, а скорее информацию, которая, как я считаю, представляет мою проблему. Цикл проходит около 100 таблиц, но результаты не отражают таблицу, из которой поступают данные. Пример результатов также показан ниже.выберите имя таблицы в запросе
DECLARE @zone integer
DECLARE ZoneCursor CURSOR FOR
SELECT ZoneID
FROM Zone
ORDER BY ZoneID
OPEN ZoneCursor
FETCH NEXT FROM ZoneCursor into @zone
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC('
declare @aStart1date as varchar(20)
declare @aStart2date as varchar(20)
-- ENTER THE START AND STOP DATES
set @aStart1date = ''07/24/2013''
set @aStart2date = ''07/24/2013''
SELECT
e.NetworkID
,network.name as Network
,Convert(varchar(16),DateAdd(day,e.BreakDate,''08-12-1960''),101) as Break_Date
,Convert(Varchar(32),DateAdd(Second,e.BreakTime,''00:00:00''),108) as Break_Time
,b.Length
,(CASE
WHEN b.availtypeid = -1 THEN ''Split Break''
WHEN b.availtypeid = 0 THEN ''None''
END) as AvailType
FROM
event' + @zone + ' e (nolock), break' + @zone + ' b (nolock), network, availtype
WHERE
(e.breakdate >= datediff(day,''8/12/1960'', @aStart1date)
and e.breakdate<= datediff(day,''8/12/1960'', @aStart2date))
and e.networkid = b.networkid
and e.breakdate = b.breakdate
and e.breaktime = b.breaktime
and b.networkid = network.networkid
and e.networkid = network.networkid
GROUP by e.networkid, network.name, e.breakdate, e.breaktime,b.length, e.status, b.availtypeid
ORDER by e.networkid, e.breaktime ')
FETCH NEXT FROM ZoneCursor into @zone
END
CLOSE ZoneCursor
DEALLOCATE ZONECURSOR
Результаты:
NetworkID Network Break_Date Break_Time Length AvailType
1 CNN 07/24/2013 00:15:00 60 Interconnect
1 CNN 07/24/2013 00:31:00 60 Interconnect
Вы спасатель жизни! Это прекрасно работало, и я не могу вас поблагодарить. –