Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не работает запрос / 11 сообщений из 11, страница 1 из 1
03.03.2018, 14:33
    #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
03.03.2018, 14:44
    #39610010
xenix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает запрос
ferzmikk,

там, где такое пишет, можно попробовать явно написать
COLLATE CYRILLIC_GENERAL_CI_AS
...
Рейтинг: 0 / 0
03.03.2018, 15:05
    #39610017
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает запрос
xenixтам, где такое пишет, можно попробовать явно написать
COLLATE CYRILLIC_GENERAL_CI_AS
В каком месте в данном запросе надо писать или это как отдельный запрос?
...
Рейтинг: 0 / 0
03.03.2018, 15:15
    #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
03.03.2018, 15:43
    #39610029
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает запрос
xenixтипы данных в запросе не видно
Поля CustItemBlocking.[Код номенклатуры] и CustItemBlocking.[Код ТТ] имеют тип nvarchar(20). А CustItemBlocking.[Блокировка] - int.
...
Рейтинг: 0 / 0
03.03.2018, 15:46
    #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
03.03.2018, 16:00
    #39610035
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает запрос
xenix,

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

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

Это позволит значительно увеличить скорость выгрузки?
...
Рейтинг: 0 / 0
03.03.2018, 18:22
    #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
03.03.2018, 18:52
    #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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не работает запрос / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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