Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите с запросом  [new]
flipper1001
Guest
помогите запрос выдает ошибку
Warning: mssql_query() [function.mssql-query]: message: Ambiguous column name 'Line'. (severity 16) in C:\apache\Maint_DC\ListAlarm_page.php on line 138



Вот сам запрос

declare @datestop datetime
declare @datestart datetime
declare @idle_ int
set @datestop=convert(datetime,'".$start_datetime."',4)
set @datestart=convert(datetime,'".$stop_datetime."',4)
set @idle_ = 4

select res.[DateTime_Stop],rtrim(LN.[Linename]) 'Line', rtrim(MSG.[Station]) 'Station',res.[DateTime_Start],res.[idle],RTRIM(TS.[TypeStop]) 'Type',MSG.[Description_en] 'Description'
from (SELECT [DateTime_Stop]
,[Line]
,[DateTime_Start]
,[idle]
,[NMsg]
FROM [GMGADCS].[db_datawriter].[DCS_Report_list]
where (datetime_stop >= @datestop and
datetime_start <= @datestart) and
IDLE>=@idle_


union all


SELECT @datestop
,[Line]
,[DateTime_Start]
,datediff(second,@datestop,[DateTime_Start])
,[NMsg]
FROM [GMGADCS].[db_datawriter].[DCS_Report_list]
where (datetime_stop < @datestop and
datetime_start > @datestop and
datetime_start <= @datestart) and
datediff(second,@datestop,[DateTime_Start])>=@idle_

union all


SELECT [datetime_stop]
,[Line]
,@datestart
,datediff(second,[DateTime_Stop],@datestart)
,[NMsg]
FROM [GMGADCS].[db_datawriter].[DCS_Report_list]
where (datetime_stop >= @datestop and
datetime_stop < @datestart and
datetime_start > @datestart) and
datediff(second,[DateTime_Stop],@datestart)>=@idle_

union all

SELECT [datetime_stop]
,[Line]
,@datestart
,datediff(second,@datestop,@datestart)
,[NMsg]
FROM [GMGADCS].[db_datawriter].[DCS_Report_list]
where (datetime_stop < @datestop and
datetime_start > @datestart) and
datediff(second,@datestop,@datestart)>=@idle_
) as res, [GMGADCS].[db_datawriter].[DCS_Line] as LN, [GMGADCS].[db_datawriter].[DCS_Messages] as MSG, [GMGADCS].[db_datawriter].[DCS_TypeStop] as TS
where res.[Line] = LN.[index] and res.[NMsg]=MSG.[Value] and res.[Line]=MSG.[Line]
and MSG.[Type]=TS.[Index] and [Line] in ('CarFinal 1', 'CarFinal 2')

order by datetime_stop
15 май 12, 05:54    [12553878]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Добрый Э - Эх
Guest
Стало быть, упомянутое тобое поле Line встречается более чем в одной таблице, участвующих в запросе. Уточни имя поля Line именем таблицы...
15 май 12, 06:06    [12553881]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Добрый Э - Эх
Guest
flipper1001
помогите запрос выдает ошибку
Warning: mssql_query() [function.mssql-query]: message: Ambiguous column name 'Line'. (severity 16) in C:\apache\Maint_DC\ListAlarm_page.php on line 138


В выделенной строке внимательно смотри... Вот там сервер и не понимает, откуда ему брать Line: из Res или из Msg
 ...
where res.[Line] = LN.[index] and res.[NMsg]=MSG.[Value] and res.[Line]=MSG.[Line] 
and MSG.[Type]=TS.[Index] and [Line] in ('CarFinal 1', 'CarFinal 2')

    order by datetime_stop
15 май 12, 06:15    [12553886]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить