powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не работает запрос
11 сообщений из 11, страница 1 из 1
Не работает запрос
    #39610006
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Есть SQL-запрос, который выгружает часть данных из OLAP.

SQL-Запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
WITH Profit AS (
	SELECT	
	CAST(F1."[Торговые точки].[Код ТТ].[Код ТТ].[MEMBER_CAPTION]" AS VARCHAR(20)) AS [Код ТТ],
	CAST(F1."[Продукция].[Код продукции].[Код продукции].[MEMBER_CAPTION]" AS VARCHAR(20)) AS [Код продукции],
	CONVERT(nvarchar(10), F1."[Время].[Дата].[Дата].[MEMBER_CAPTION]" , 104) AS [Дата],
	F1."[Measures].[Отгрузки шт]" AS [Отгрузки шт],
	F1."[Measures].[Возвраты шт]" AS [Возвраты шт]	
	FROM OPENROWSET(
	'MSOLAP',
	'Provider=MSOLAP.3;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=profit;Data Source=xxx.yyy.ru;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error',
	'SELECT
		{[Measures].[Отгрузки шт],
		[Measures].[Возвраты шт]}
	ON 0,
	NON EMPTY		
		[Торговые точки].[Код ТТ].[Код ТТ]*
		[Продукция].[Код продукции].[Код продукции]	*
		[Время].[Дата].[Дата]
	ON 1
	FROM
		(SELECT
			([Время].[Дата].&[2017-06-01T00:00:00]:[Время].[Дата].&[2017-08-10T00:00:00],			
			{[Торговые точки].[Клиент].[Клиент1]},		
			{[Города].[Город].&[1],
			[Города].[Город].&[3]}
			) ON 0
			FROM PROFIT)'
	) AS F1
)

,
Block AS (
	SELECT
		CustItemBlocking.ITEMID AS [Код номенклатуры],
		CustItemBlocking.CUSTACCOUNTSP AS [Код ТТ],		
		CustItemBlocking.BLOCKED AS [Блокировка]	
	FROM
		Server1.DataBase1.dbo.CustItemBlocking CustItemBlocking 
	)
	
SELECT
	Profit.[Код ТТ],
	Profit.[Код продукции],
	Profit.[Дата],
	Block.[Блокировка]
FROM
	Profit
LEFT JOIN
	Block
ON
	Profit.[Код ТТ]=Block.[Код ТТ]
	AND
	Profit.[Код продукции] = block.[Код ТТ]


Выдает такую ошибку "Не удалось разрешить конфликт параметров сортировки между "Cyrillic_General_CI_AS" и "Cyrillic_General_CI_AI" в операции equal to." .

Ошибка выходит из за выделенных строк.

Почему пишет про сортировку, если в запросе отсутствует Order By ? Как надо правильно написать запрос?
...
Рейтинг: 0 / 0
Не работает запрос
    #39610010
xenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ferzmikk,

там, где такое пишет, можно попробовать явно написать
COLLATE CYRILLIC_GENERAL_CI_AS
...
Рейтинг: 0 / 0
Не работает запрос
    #39610017
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xenixтам, где такое пишет, можно попробовать явно написать
COLLATE CYRILLIC_GENERAL_CI_AS
В каком месте в данном запросе надо писать или это как отдельный запрос?
...
Рейтинг: 0 / 0
Не работает запрос
    #39610019
xenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ferzmikk,
типы данных в запросе не видно, поэтому я бы сделал как-то так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
FROM
	Profit
LEFT JOIN
	Block
ON
	Profit.[Код ТТ] COLLATE CYRILLIC_GENERAL_CI_AS=Block.[Код ТТ] COLLATE CYRILLIC_GENERAL_CI_AS
	AND
	Profit.[Код продукции]COLLATE CYRILLIC_GENERAL_CI_AS = block.[Код ТТ]COLLATE CYRILLIC_GENERAL_CI_AS
...
Рейтинг: 0 / 0
Не работает запрос
    #39610029
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xenixтипы данных в запросе не видно
Поля CustItemBlocking.[Код номенклатуры] и CustItemBlocking.[Код ТТ] имеют тип nvarchar(20). А CustItemBlocking.[Блокировка] - int.
...
Рейтинг: 0 / 0
Не работает запрос
    #39610030
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xenixferzmikk,
типы данных в запросе не видно, поэтому я бы сделал как-то так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
FROM
	Profit
LEFT JOIN
	Block
ON
	Profit.[Код ТТ] COLLATE CYRILLIC_GENERAL_CI_AS=Block.[Код ТТ] COLLATE CYRILLIC_GENERAL_CI_AS
	AND
	Profit.[Код продукции]COLLATE CYRILLIC_GENERAL_CI_AS = block.[Код ТТ]COLLATE CYRILLIC_GENERAL_CI_AS


Запрос заработал!
...
Рейтинг: 0 / 0
Не работает запрос
    #39610035
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xenix,

Спасибо!
...
Рейтинг: 0 / 0
Не работает запрос
    #39610040
bideveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk,

а лучше поменять Collation в исходных данных, на которых строится OLAP.
...
Рейтинг: 0 / 0
Не работает запрос
    #39610041
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bideveloperа лучше поменять Collation в исходных данных, на которых строится OLAP.
Вы имеете ввиду в самом MDX-запросе или в среде SQL Server Business Intelligence Development Studio?

Это позволит значительно увеличить скорость выгрузки?
...
Рейтинг: 0 / 0
Не работает запрос
    #39610063
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkВы имеете ввиду в самом MDX-запросе или в среде SQL Server Business Intelligence Development Studio?
Это позволит значительно увеличить скорость выгрузки?В базе MSSQL или в хранилище MSOLAP
Нехорошо, когда разные коллейты, и да, это может ускорить запросы, и вообще меньше будет проблем.
ferzmikk
Код: sql
1.
2.
3.
4.
ON
	Profit.[Код ТТ]=Block.[Код ТТ]
	AND
	Profit.[Код продукции] = block.[Код ТТ]


Вообще странные условия, получается, в PROFIT поле [Торговые точки].[Код ТТ].[Код ТТ] всегда равно [Продукция].[Код продукции].[Код продукции]
...
Рейтинг: 0 / 0
Не работает запрос
    #39610068
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgferzmikkferzmikk
Код: sql
1.
2.
3.
4.
ON
	Profit.[Код ТТ]=Block.[Код ТТ]
	AND
	Profit.[Код продукции] = block.[Код ТТ]


Вообще странные условия, получается, в PROFIT поле [Торговые точки].[Код ТТ].[Код ТТ] всегда равно [Продукция].[Код продукции].[Код продукции]
Упс
Код: sql
1.
2.
3.
4.
ON
	Profit.[Код ТТ]=Block.[Код ТТ]
	AND
	Profit.[Код продукции] = block.[Код номенклатуры]
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не работает запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]