Внес исправления в одно из условий запроса. Вот оригинал:
(SELECT CASE
When [tbl_Demand].[StoimPredlDo] IS NULL OR
[tbl_Demand].[StoimPredlDo] = 0 OR
[tbl_OfferingC].[StoimPredlDo] IS NULL OR
[tbl_OfferingC].[StoimPredlDo] = 0
THEN 1
WHEN [tbl_Demand].[StoimPredlDo] >=
[tbl_OfferingC].[StoimPredlDo]
THEN 1
ELSE 0
END) = 1
AND
(SELECT CASE
When [tbl_Demand].[StoimPredl] IS NULL OR
[tbl_Demand].[StoimPredl] = 0 OR
[tbl_OfferingC].[StoimPredlDo] IS NULL OR
[tbl_OfferingC].[StoimPredlDo] = 0
THEN 1
WHEN [tbl_Demand].[StoimPredl] =
[tbl_OfferingC].[StoimPredlDo]
THEN 1
ELSE 0
END) = 1
When [tbl_Demand].[StoimPredlDo] IS NULL OR
[tbl_Demand].[StoimPredlDo] = 0 OR
[tbl_OfferingC].[StoimPredlDo] IS NULL OR
[tbl_OfferingC].[StoimPredlDo] = 0
THEN 1
WHEN [tbl_Demand].[StoimPredlDo] >=
[tbl_OfferingC].[StoimPredlDo]
THEN 1
ELSE 0
END) = 1
AND
(SELECT CASE
When [tbl_Demand].[StoimPredl] IS NULL OR
[tbl_Demand].[StoimPredl] = 0 OR
[tbl_OfferingC].[StoimPredlDo] IS NULL OR
[tbl_OfferingC].[StoimPredlDo] = 0
THEN 1
WHEN [tbl_Demand].[StoimPredl] =
[tbl_OfferingC].[StoimPredlDo]
THEN 1
ELSE 0
END) = 1
Вот новый вариант:
-- Сравнение цены
(SELECT CASE
-- Аренда: сравниваем значение "От" предложения и "До" спроса.
When
[tbl_Demand].[CurOperationID] = 'f2ed333e-6576-4f6f-b5c1-4268464dc30a' OR
[tbl_Demand].[CurOperationID] = '5b6be3a4-c10d-4db1-9c9b-5aad551a7a45'
Then
(SELECT CASE When
[tbl_Demand].[StoimPredlDo] IS NULL OR
[tbl_Demand].[StoimPredlDo] = 0 OR
[tbl_OfferingC].[StoimPredl] IS NULL OR
[tbl_OfferingC].[StoimPredl] = 0
Then 1 when
[tbl_Demand].[StoimPredlDo] >=
[tbl_OfferingC].[StoimPredl]
Then 1 else 0 end)
-- Продажа: сравниваем значение "до" предложения и "до" спроса (если есть),
-- либо значение "от" спроса (если нет зн. "до").
When
[tbl_Demand].[CurOperationID] = '686ef082-f59f-436d-b06c-b18da2a8d8c7'
Then
(SELECT CASE When
[tbl_OfferingC].[StoimPredlDo] IS NULL OR
[tbl_OfferingC].[StoimPredlDo] = 0
Then 1 when
[tbl_Demand].[StoimPredlDo] IS NULL OR
[tbl_Demand].[StoimPredlDo] = 0 OR
[tbl_Demand].[StoimPredl] IS NULL OR
[tbl_Demand].[StoimPredl] = 0
Then 1 when
[tbl_Demand].[StoimPredlDo] IS NOT NULL AND
[tbl_Demand].[StoimPredlDo] > 0 AND
[tbl_Demand].[StoimPredlDo] >= [tbl_OfferingC].[StoimPredlDo]
then 1 when
[tbl_Demand].[StoimPredl] IS NOT NULL AND
[tbl_Demand].[StoimPredl] > 0 AND
[tbl_Demand].[StoimPredl] = [tbl_OfferingC].[StoimPredlDo]
then 1 else 0 end) else 0 end) = 1
(SELECT CASE
-- Аренда: сравниваем значение "От" предложения и "До" спроса.
When
[tbl_Demand].[CurOperationID] = 'f2ed333e-6576-4f6f-b5c1-4268464dc30a' OR
[tbl_Demand].[CurOperationID] = '5b6be3a4-c10d-4db1-9c9b-5aad551a7a45'
Then
(SELECT CASE When
[tbl_Demand].[StoimPredlDo] IS NULL OR
[tbl_Demand].[StoimPredlDo] = 0 OR
[tbl_OfferingC].[StoimPredl] IS NULL OR
[tbl_OfferingC].[StoimPredl] = 0
Then 1 when
[tbl_Demand].[StoimPredlDo] >=
[tbl_OfferingC].[StoimPredl]
Then 1 else 0 end)
-- Продажа: сравниваем значение "до" предложения и "до" спроса (если есть),
-- либо значение "от" спроса (если нет зн. "до").
When
[tbl_Demand].[CurOperationID] = '686ef082-f59f-436d-b06c-b18da2a8d8c7'
Then
(SELECT CASE When
[tbl_OfferingC].[StoimPredlDo] IS NULL OR
[tbl_OfferingC].[StoimPredlDo] = 0
Then 1 when
[tbl_Demand].[StoimPredlDo] IS NULL OR
[tbl_Demand].[StoimPredlDo] = 0 OR
[tbl_Demand].[StoimPredl] IS NULL OR
[tbl_Demand].[StoimPredl] = 0
Then 1 when
[tbl_Demand].[StoimPredlDo] IS NOT NULL AND
[tbl_Demand].[StoimPredlDo] > 0 AND
[tbl_Demand].[StoimPredlDo] >= [tbl_OfferingC].[StoimPredlDo]
then 1 when
[tbl_Demand].[StoimPredl] IS NOT NULL AND
[tbl_Demand].[StoimPredl] > 0 AND
[tbl_Demand].[StoimPredl] = [tbl_OfferingC].[StoimPredlDo]
then 1 else 0 end) else 0 end) = 1
Но при открытии датасэта стала появляться ошибка:
Ошибка выполнения метода 'amiOnlyPublishedOnExecute'. Ошибка открытия источника данных "ds_SearchResultForQueries".
Оригинальное сообщение об ошибке: Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
Parameter[3] :CurOperationID - invalid ParamType (Status = 1h).
Parameter[4] :PublishedOnly - invalid ParamType (Status = 1h)
Подскажите, в чем проблема? Во вложении - xml файлы select запросов, оригинальный и новый.
Нравится
2 комментария
22 июля 2010 09:05
Как бы не смешно это звучало, но я думаю Вы ошиблись в комментариях в sql :) Уберите символы двоеточия.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать